给玩家添加一个健康系统
为了让玩家受到小行星的伤害,我们必须设置承受伤害和失去健康的逻辑。然而,我们想在其他情况下使用这个方法,最好每次都有不同的值,比如当我们飞向一个真正的敌人,或者我们被一个敌人击中。我们可以通过在方法名称中公开一个变量来做到这一点,让我们看一看。
目标。
为玩家添加一个健康系统,并以模块化的方式添加一个伤害玩家的方法,这样我们就可以重复使用它。
案例解决方案。
添加一个带有暴露变量的方法,负责减去健康点数。
逻辑。
首先,我们必须在Players.cs脚本中添加两个整数变量。一个是我们的当前健康值,一个是我们的最大健康值。
此外,添加一个bool变量,对于无限健康来说,它将返回真或假。
在检查器中,我们可以指定最大健康值。我把它设置为100。
然后在开始时我们简单地说,当前健康值等于最大健康值。信不信由你,这只是为了将我们的健康系统添加到玩家身上。如果你按下播放键,你可以看到玩家现在有100点健康。
除了,我们希望有一种方法可以从我们的当前健康值中减去健康值。为了方便,我们创建了一个额外的方法,允许我们在检查器中启用/禁用无限健康。
我们声明,如果 "无限健康 "被设置为 "假",我们将从 "当前健康 "中减去我们传入的伤害点数,如果 "当前健康 "小于1,我们将摧毁该玩家。否则,当前健康值将被设置为最大健康值。
回到Asteroid.cs脚本,现在我们所要做的就是在OnTriggerEnter事件中传入一个伤害值。你可以把它缓存在一个成员变量中,方便以后调整。
我们现在可以在游戏模式下的检查器中查看玩家的健康状况,我们很快就会查看添加用户界面元素,使其对玩家可见。
祝你建立你自己的健康系统!
为玩家添加健康状况》最初发表在《Nerd For Tech》杂志上,在那里人们通过强调和回应这个故事来继续对话。