第 19 天:实施三枪强化
作者:互联网
第 19 天:实施三枪强化
客观的 :我们如何在计时器上设置我们的三连发加电,使其持续有限的时间?
所以现在我已经了解了三连击加电是什么,让我们开始实施这些行为以及它何时变得活跃!首先,我们想要 创建一个新的精灵,暗示它是三枪通电 当我们收集它时。我想确保我 设置对撞机并确保通过我们的“刚体”打开“IsTrigger” .这将表明我们可以使用“碰撞到精灵”来收集它 OnTriggerEnter ”在我们的通电脚本中。
Setting collider and rigidbody
然后,我想将我们创建的 powerup 脚本附加到 powerup sprite 以开始指示其行为。我将首先给它一个速度变量,然后 使用“transform.Translate”让精灵在 y 轴上向下移动 类似于我们的敌人运动。
此外,通过使用标签,我在脚本中指出 当玩家通过上电精灵时,精灵消失(Destroy)基本上表明我们已经收集了它 .
Sprite movement and collision with our player
所以一旦收集,我想给通电一个计时器,这样它就不会持续整个游戏。所以要 为开机设置一个计时器,我想实现一个协程并使用我的 bool 语句 .使用伪代码勾勒出我想要的内容,然后翻译成代码,我基本上想声明三重射击是活动的,然后在每次它为真时启动协程(当我们收集上电时)。
在这个协程中,我想将计时器设置为五秒 “新的等待秒” 然后在五秒钟后,bool 语句将重置为 false,表示通电持续时间结束。
Setting the coroutine for the duration of the powerup
最后,我要做的最后一件事是将通电脚本与我们的播放器脚本通信 通过获取播放器的组件,然后进行空值检查,然后传入我们用于激活电源的方法 .注意:这类似于我们与玩家沟通敌人以造成伤害时。
Communicating the powerup script with our player script
应用保存的更改后,当我收集通电时,我将实施三连发通电五秒钟,然后恢复为我的默认单激光。
successful timer on triple shot
需要注意的一件事是,如果您查看我们的层次结构,您会注意到我们的三连击是建立起来的。
triple shot build up in hierarchy
为了清理它,我们想跳进我们的激光脚本并对对象的父对象进行空检查,然后销毁对象的父对象,从而成功地清理我们的层次结构。
Doing a null check on parent of triple shot
cleaner hierarchy
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
本文链接:https://www.qanswer.top/11044/20590209
标签:powerup,收集,19,精灵,三枪,计时器,通电,强化,我们 来源: https://www.cnblogs.com/amboke/p/16648645.html