evkworld调用环境引擎如何制作回合制游戏?
在本教程中,我们通过变量控制一轮的不同阶段。
0:玩家的动作阶段,玩家可以进行攻击等行为。
1:效果执行阶段,当玩家进行攻击、使用道具等操作时,进入效果执行阶段。在这个阶段,操作UI隐藏,执行具体的行为逻辑,执行后判断游戏是否成功。如果游戏继续,返回阶段0,否则返回阶段2或3。
2.进入这个阶段,游戏就赢了。
3.当进入这个阶段时,游戏失败。
建造一个场景
创建玩家角色和敌人
创建4个新角色和4个敌人。
创建同质组,战斗角色组,并将战斗角色放入同质组。
在同一组下创建五个新的实例变量,用于战斗中的逻辑处理。
请点击输入图片说明。
将敌人变量设置为1。
请点击输入图片说明。
行动的速度决定了一轮中谁先行动。值越大,优先级越高。可以自己设定,就像生命和攻击力一样。本教程默认玩家到敌人的速度是8~1。
在本教程中,角色名用于显示战斗文本。您可以自己填写相应的对象名称。
将战斗人物放入场景中
请点击输入图片说明。
放置行为按钮
在本教程中,玩家将能够做两件事:攻击和跳过回合。
分别创建两个按钮,并把它们放在动作按钮层组。
请点击输入图片说明。
新显示文本
为了了解当前的战斗情况,我们设置了两个文本对象,分别用来显示当前的回合数和当前的角色操作。
请点击输入图片说明。
建立转弯控制变量
创建两个新的数值变量,用于显示当前回合和当前回合的阶段,初始值为0。
请点击输入图片说明。
分阶段实现循环逻辑
请点击输入图片说明。
阶段0需要什么?
首先,我们实现阶段0,这是可操作的阶段。在这个阶段,我们需要实现以下功能。
动作序列的检测:首先检测战斗人物的动作序列。并分别处理敌人和玩家的逻辑。如果没有本轮没行动的人,就进入下一轮。
玩家动作:在玩家回合中,显示行为按钮,等待玩家按下按钮进入具体实现逻辑。
敌人:自动选择一个不活跃的单位进行攻击。
检测是否进入阶段0。
新建一个事件分组,增加一个条件判断当前阶段为0。
同时先显示“动作按钮”层(也可以等到确定玩家的回合才显示)。
请点击输入图片说明。
检测动作序列
为了记录战斗角色的动作顺序,我们设置了一个数组来保存。
请点击输入图片说明。
添加一个子事件来检测数组是否为空。如果数组为空,将字符按顺序再次添加到数组中,圈数为+1。
请点击输入图片说明。
创建新的事件分组,实现“更新动作序列”的动作组逻辑。
利用系统组件提供的排序遍历循环条件,战斗角色组通过动作速度循环,uid加入数组。
请点击输入图片说明。
当前动作角色是玩家时处理逻辑
对比uid,得到第一个动作战机,判断是否是玩家。
请点击输入图片说明。
为了记录当前操作的是哪个角色,创建了一个新变量,当前动作角色uid,战斗角色的UID保存在变量中。同时,动作信息文本对象的内容被更新。
在0阶段开始的时候,我们已经展示了操作按钮层,用户只需要点击相应的按钮就可以进行战斗了。战斗的详细逻辑会在后面的1阶段讲解。
请点击输入图片说明。
当角色是敌人时处理当前动作逻辑
类似地,uid被比较以确定它们是否是敌人,如果是,则执行敌人攻击行动组。(具体的对敌攻击逻辑会在后面的阶段1教程中实现)
请点击输入图片说明。
阶段0事件概述
请点击输入图片说明。
1阶段要实现的内容
当敌人攻击或玩家操作时,进入阶段1执行特定逻辑。本教程只实现了简单的攻击和跳过回合,可以根据需要实现特殊的动作逻辑。
玩家行为
敌人攻击
胜利或失败的判断
玩家攻击
创建新的事件分组,实现玩家操作。
在本教程中,玩家的攻击步骤是:
请点击输入图片说明。
点按“攻击”按钮。
点击敌人图标攻击目标。
我们需要一个变量来记录是否是选择攻击目标的当前状态,并为这个新变量选择一个目标。
请点击输入图片说明。
当点击攻击按钮时,选择目标被设置为1,动作信息文本组件的内容被更新。
请点击输入图片说明。
选择target =1时,点击敌人图标攻击敌人。行动组参数是目标敌人的uid。
请点击输入图片说明。
现在我们实现了攻击敌人的行动小组。首先,将stage设置为1,并将所选目标重置为0。
新的子变量局部攻击力
请点击输入图片说明。
选择uid为可变当前动作角色UID的战斗角色组(即当前操作的角色),分配local_ attack威能。
选择被设定为攻击目标的敌人,降低生命值。
生命值设定公式:钳(战斗角色群。生命-局部_攻击力,0,战斗角色群。生活)
为了更直观地看到攻击效果,我们创建了一个新的文本对象。当一个角色攻击时,它会产生伤害数字,并在一秒后摧毁它们。
把它放到场景中
减少敌人生命值时创建文本。
建立子事件,判断当敌人生命值归零时,消灭敌人,将敌人移出人物动作阵。
数组删除公式:字符动作顺序。战斗角色组索引。uid)
最后,从动作数组中删除当前动作字符:字符动作序列。indexof(当前动作字符UID)。
将当前阶段重置为0后,判断战斗结果。敌人全灭就胜利,我们全灭就失败。
请点击输入图片说明。
玩家攻击事件的全貌如下:
请点击输入图片说明。
玩家动作:跳过当前回合。
点击跳过回合按钮,将当前角色从动作数组中移除,进入阶段1,一秒后返回阶段0。
请点击输入图片说明。
敌人攻击
敌人攻击的逻辑和玩家大致相同,不同的是随机选择目标。
请点击输入图片说明。
最后返回到分阶段实现的轮逻辑事件组,相应地设置阶段1,2,3。(在本教程中,获胜阶段和失败阶段显示为文本内容,可以自行添加逻辑。)
请点击输入图片说明。
以上是实现简单回合制框架的全部内容。