制作多关卡游戏,如果关卡太多,放置关卡选择按钮会花费很多时间。如何用evkworld调用环境引擎实现关卡选择?

作事前的现场(或情况)描述

先创建一个背景图片?(向导组件)

然后创建级别选择按钮?(按钮组件)

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

因为我们希望用事件表动态创建级别选择按钮,所以我们首先将按钮实例放入实例仓库场景中。

调整按钮的大小和按钮字体。

将上一页/下一页拖到场景中

添加变量

为级别选择按钮添加两个实例变量。

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

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

添加全局变量

当前页面:当前哪个页面位于级别选择中?

列数:一个页面上可以显示的最大列数,在本教程中是10。

行数:一页可以显示的最大行数,在本教程中是4行。

总级数:总级数,在本教程中为50。

解锁级数:解锁级数,在本教程中为25。

实现逻辑

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

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

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

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

Local_ Generation Number:控制按钮生成的编号。

Local_ initial坐标x:第一个按钮的x坐标。

Local_ initial坐标y:第一个按钮的y坐标。

Local_ build interval:按钮之间的间隔。

接下来,根据当前的页数和一页可以显示的数量,设置按钮的起始数。

接下来,我们在一个循环中创建按钮。

每个列循环的Local_ generated number +1。

如果local_ generation编号小于或等于总级别数,则创建一个按钮。

x坐标:local_ initial坐标x+(local _ generation interval * loop index("循环列"))

y坐标:local_ initial坐标y+(local _ generation interval * loop index)。

设置新创建的按钮的文本和实例变量值:

按钮文本:str(本地代编号)

编号:本地代编号

&场景:《场景》& amp本地世代号

创建一个子事件,如果当前层代数大于解锁级别数,则禁用该按钮。

如果local_ generation数大于总层数,则停止生成按钮并退出循环。

同样在动作组中,我们控制翻页按钮的显示。

Ceil(总层数/(行数*列数))

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

现在预览游戏,您可以看到场景中生成了几个按钮。接下来,我们需要实现翻页功能。

翻页的逻辑很简单。当单击按钮时,当前页面被修改,操作组被再次调用。

最后实现跳转功能。

我们只需要根据按钮的实例变量来命名场景。

整个事件表如下: