跑酷游戏 第六集
本集我们实现了完成关卡的功能,并且修复了重新开始游戏后物资的bug。
角色绘制和显示逻辑
我们复制一下我们的物资角色,重命名为出口。然后绘制两个造型,一个是出口关闭的造型,一个是出口打开的造型。
然后到我们的代码部分。我们的出口代码和物资角色的代码有很多是相同的,但也有一些需要修改。我们的出口只需要有本体就可以了,所有关于克隆的部分都可以删掉;然后把移动部分的代码移动到本体里,增加物资部分的代码也可以删除掉了。初始化为关闭造型,也就是不能进入。
接下来我们更新一下位置,我们可以根据上一集学到的测试方法,根据自己的地图选择合适的位置。
接下来就是出口的状态显示了。出口应该一直显示在地图上,当角色没有收集完所有物资,显示是不可进入的状态,当角色收集到所有物资,就显示为开放可以进入。
为了实现这个功能,我们新建一个全局变量物资总数量,来计算我们场上总共有几个需要收集的物资。游戏开始时重置为0,每次克隆后增加1,这样可以根据我们克隆的数量来增加。
回到我们出口的代码中,我们重复执行一个判断,如果玩家收集到的物资数量等于物资总数量,那么就更换造型。
过关逻辑和特效
在切换完造型之后,我们给终点打开后写一个逻辑。和我们失败的时候改变变量一样,我们也建立一个全局变量过关,初始化为no,当玩家收集完物资,到达终点时改变变量的值为yes。
回到角色的部分,我们给移动部分加上一个逻辑,除了失败,过关时也应该不执行。
跳出循环后也不应该直接失败了,而应该判断一下跳出循环的原因。
最后我们完成过关特效。我们可以给玩家加一个绕着出口旋转变小且虚化的过程。
bug修复
我们在上一集重置关卡的时候遗留了问题,当我们重置关卡后,我们收集物资时收集的物资数量会比正常情况下更多。原因是我们的一部分克隆体物资和本体一样也执行了复制的代码后才被删除。我们让物资生成的代码等待一下再执行,就可以让克隆体被正确的删除。
总结
本集课程中我们完成了对通过关卡逻辑和动画的处理。我们关卡内的基本功能就做完了。之后我们就要拓展游戏,给我们的游戏添加关卡等其他功能。