统一指南
关于如何用Unity实现生命系统的快速指南

目标。用Unity实现一个系统来处理玩家的生命。
在上一篇文章中,我介绍了如何用Unity创建动态平台。现在,是时候实现一种方法来处理玩家在我们的平台游戏中坠落时的生命了。
处理坠落
如果你看过我的上一篇文章,你会记得我们正在使用原始资产来开始创建一个平台游戏。现在,我们有一个玩家,在下一个场景中有一些平台和收藏品。
所以,为了处理玩家坠落的情况,让我们先创建一个空的游戏对象,代表场景中重生玩家的点。
然后,让我们创建一个新的游戏对象,其中包括一个盒子碰撞器组件,并启用了 是触发器属性,以表示玩家将失去一条生命的区域。
一旦碰撞器实现了我们的目的,让我们把游戏对象移动到所需的区域。
当玩家跌倒并触发碰撞器时,将失去一条生命。
现在,让我们为游戏对象创建并附加一个新的脚本,以便处理与玩家的触发碰撞。
然后,让我们打开脚本,在顶部包括系统 命名空间。
接下来,让我们创建一个新的公共静态Action Delegate,它将代表玩家的每次跌倒。
如果你想了解更多关于Action Delegate的信息,你可以访问微软的文档。
现在,让我们使用OnTriggerEnter 方法,以便能够触发与其他碰撞器的碰撞。在这个方法中,我们将通过比较其他碰撞器的标签来检查碰撞是否是与玩家发生的。如果该碰撞器属于玩家,我们将调用Action Delegate(如果它不是空的),在玩家下落时采取相应的行动。
生命系统
现在,为了处理生命系统,让我们打开玩家脚本并包含SceneManagement 命名空间,因为当玩家的生命耗尽时,我们将重新启动关卡。
然后,让我们创建。
- 一个私人变量存储玩家的生命总数。
- 一个公共属性,用于返回私有变量的值。
- 一个私有变量,用于存储重生点的参考。
现在,让我们创建一个新的方法来处理玩家的伤害。当该方法被调用时,它将。
- 从相应的变量中减去一条生命。
- 如果玩家的生命值耗尽,则恢复关卡。
- 禁用角色控制器组件以使重生顺利进行。
- 改变玩家的位置,使其位于重生点上。
- 启动一个循环程序,在一定时间后启用角色控制器。
启用角色控制器的coroutine是下一个。
这样,我们将等待半秒,直到控制器再次启用。
最后,让我们把这个方法添加到Start 方法的死区的Action Delegate中,这样,当玩家跌倒时,它就会被调用。另外,作为良好的做法,让我们使用OnDestroy 方法来删除它,以避免在玩家被摧毁时试图执行它。
一旦我们保存了脚本,让我们把重生点拖到检查器中。
显示生命
现在,为了显示剩余的生命,让我们在我们的画布中使用一个文本元素,就像我们用来显示硬币的那个。
一旦我们有了文本元素,让我们打开UI管理器脚本并创建一个新的变量来存储对它的引用。
然后,让我们创建一个新的方法,通过改变文本属性和从播放器类调用生命属性来更新生命。
最后,让我们从Action Delegate中添加和删除该方法,就像我们在接收玩家类的损害的方法中所做的那样。
不要忘记通过检查器将文本元素拖到相应的变量中。
如果我们在Unity中运行游戏,我们会看到玩家每次跌倒都会重生并失去一条生命。
就这样,我们用Unity为我们的平台游戏实现了一个生命系统!:D.我们在下一篇文章中再见,我将展示如何用Unity创建一个电梯。
实现生命系统 | Unity最初发表于Nerd For Techon Medium,在那里人们通过强调和回应这个故事来继续对话。