跑酷P4 死亡判定

跑酷游戏 第四集

本集游戏我们来实现玩家的死亡判定,包括掉落悬崖死亡和碰到陷阱死亡。

游戏失败特效

首先我们来制作一下游戏失败的效果。我们让玩家在原地闪烁几下之后隐藏,而这段时间是不进行移动或者其他操作的。

我们新建一个自制积木,不需要勾选运行时不刷新屏幕了。如何实现闪烁的效果?让隐藏和显示等待一段时间交替显示即可。

这里由于我们设置了玩家角色的显示状态,所以我们在游戏开始时也需要对显示状态做一个初始化,让他保持显示。对于改变显示状态的角色,或者是是否显示无法通过肉眼判断的角色(比如被其他角色遮挡,或者本身透明度为0或者虚像特效100不可见的),最好在开始时给一个显示的状态。

掉落死亡判定

我们在玩家跌落悬崖之后,判断玩家死亡。我们可以让玩家小于一个y坐标后,就让玩家游戏失败。

这里我们新建一个全局变量失败来控制,我们所有的移动操作放在重复执行直到失败=yes中,而我们的失败变量的初始值赋值为no,在死亡后赋值为yes。

重新开始游戏

在玩家死亡后,我们让玩家回到出生点继续游戏。完成这个逻辑有很多种办法,比如重复执行等。这次我们用广播的方式来实现。我们把游戏过程的代码放到游戏开始广播中,在绿旗被点击时广播就可以开始游戏。

死亡后,也进行一次广播就可以了。由于死亡之后代码停下来了,所以我们把死亡的操作放在外面更合理。

障碍物

除了掉下悬崖,我们也增加一个障碍物,让玩家碰到障碍物时也会死亡。在我们的地图上绘制一个红色的障碍物。

接下来我们来实现碰到路障时失败的情况。碰到路障,我们就使用碰到红色颜色来进行判定。由于水平移动和垂直移动时都有可能碰到路障,所以我们在两个移动的过程中都进行判定。而因为我们死亡的条件不止一种,所以我们用一个自制积木来判断死亡的情况。

在两个移动部分添加死亡的判断。

边缘地图显示问题

在我们第一个场景中,我们会发现地图右侧有一些其他的场景,这是我们后面几个场景堆在地图边缘导致的。前几集中我用更改编辑器设置的方法解决这个问题,今天我们在代码里解决这个问题。

我们让每个场景判断一下自己是否要出现在画面里,如果没有出现,就把自己隐藏了。

具体的原理,视频里没有解释,我认为是判断两个用变量计算的坐标,是否在当前屏幕能显示的范围中。如果在屏幕范围中就显示,否则就隐藏。

总结

本集中我们完成了角色在掉下悬崖和碰到障碍物的死亡判定,还对之前的地图问题做了优化。关于地图滚动的变量计算理解起来可能稍有些复杂,但是是很实用的小技巧。不光是水平稳定,垂直也可以做到稳定,之后就可以用它来制作一些比较大的地图甚至是垂直地图了。

posted @ 2025-03-20 09:53  AnzioNiko  阅读(61)  评论(0)    收藏  举报