欢迎光临散文网 会员登陆 & 注册

动态生成关卡选择按钮

2019-07-25 15:45 作者:唤境官方  | 我要投稿

在制作一些多关卡游戏时,如果关卡数过多,关卡选择按钮的摆放就会费时间。 本教程将为大家提供一种自动生成关卡按钮的方法。

image.png

点我下载工程文件
点我下载素材

布置场景

先创建背景图 (精灵组件)

image.png


接着创建关卡选择按钮 (按钮组件)

image.png
image.png


创建上一页/下一页按钮 (按钮组件)

image.png

因为我们要用事件表动态创建关卡选择按钮,所以先将按钮实例放入实例仓库场景。

image.png


调整按钮、按钮字体的大小

image.png

将上一页/下一页拖入场景

image.png

添加变量

关卡选择按钮添加两个实例变量

  • 跳转场景:字符型,代表该按钮所对应的场景

  • 编号:数值型,用于动态生成时按钮的排列。

image.png

添加全局变量

  • 当前页:当前位于关卡选择的第几页

  • 列数:一页最多能显示的列数,本教程中为10列

  • 行数:一页最多能显示的行数,本教程中为4行

  • 总关卡数量: 关卡的总数量,本教程中为50

  • 已解锁关卡数:已经解锁的关卡数量,本教程中为25

image.png

实现逻辑

首先,当场景开始时,我们需要初始化当前页变量为1,并使用动作组刷新按钮来更新场景内的按钮

image.png

接下来,我们实现刷新按钮动作组的逻辑

image.png


在创建新的按钮之前,我们需要先销毁掉旧的按钮

image.png


然后我们在子事件下创建4个局部变量

  • local_生成编号: 控制按钮生成的编号

  • local_初始坐标x: 第一个按钮的x坐标

  • local_初始坐标y: 第一个按钮的Y坐标

  • local_生成间隔: 按钮之间的间隔

image.png


接下来,根据当前页数以及一页可显示数量,设置按钮起始编号

image.png

接下来,我们循环创建按钮

image.png
image.png
image.png

每次循环列,local_生成编号+1

image.png


如果local_生成编号小于等于总关卡数量,则创建按钮

image.png


x坐标:local_初始坐标x + (local_生成间隔 * loopindex(“循环列”))
y坐标: local_初始坐标y + (local_生成间隔 * loopindex(“循环行”))

image.png

设置刚创建出来的按钮的文本、实例变量值:

  • 按钮文字:str(local_生成编号)

  • 编号:local_生成编号

  • 跳转场景: “场景”&local_生成编号

image.png

创建子事件,如果当前生成编号大于已解锁关卡数,将按钮禁用

image.png

如果local_生成编号大于总关卡数量,则停止生成按钮并且退出循环

image.png

同样在动作组中我们控制翻页按钮的显示
ceil(总关卡数量/(行数*列数))

image.png

以上便是动作组的全部逻辑,整体事件图如下:

image.png


现在预览游戏,就可以看到场景中生成了若干按钮。接下来我们要实现翻页功能。
翻页的逻辑很简单,当点击按钮时,修改当前页,并重新调用动作组

image.png

最后,实现跳转功能

image.png
image.png

我们只需按照按钮的实例变量命名场景即可

image.png

整体事件表如下图:

image.png

 点击下载全能无需编程的唤境引擎!     

https://www.evkworld.cn/?c=600005&sc=600019&auto=1

动态生成关卡选择按钮的评论 (共 条)

分享到微博请遵守国家法律