第 22 天:创建速度加速; Switch 语句简介

第 22 天:创建速度加速; Switch 语句简介

客观的 : 在我们的统一项目中,我们如何使用 switch 语句来优化我们的脚本来创建一个模块化的上电系统?

所以现在我有了我的第一个通电,是时候扩展并创造更多这样的人了。我将首先创建一个速度加速器,以在有限的时间内改变我的播放器的速度。就像我们的三连击加速一样,我首先获取一个精灵来表明它是一个加速加速,然后添加一个 2D 碰撞器和 2D 刚体作为组件。我也想将我的通电脚本附加到此。

Getting the speed powerup ready

一旦我添加了它,当我运行我的游戏时,我现在应该从顶部产生两个不同的通电;三连击加电和速度加电。请注意,当我运行游戏并收集加速道具时,我正在显示三连击的行为。

Same behaviors!? We don’t want this!

为了区分两者之间以及未来创建的任何通电之间的行为,我想 创建一个系统,其中特定的通电将决定它将包含哪些行为 .为此,我将为每个指定的通电分配一个整数值。我们从 创建一个“int”变量,以便我们可以分配一个数字。此外,给它一个序列化字段视图将允许我在检查器中的数字之间切换。

Creating the integer variable

Inspector view

现在使用 if 和 then 逻辑,我们基本上给出了变量的值,并显示如果该变量等于指定的分配数字会发生什么。例如,如果它等于 0,那么我将激活 Triple Shot Powerup,而如果它等于 1,那么我将激活 Speed Powerup,依此类推。 (我现在使用“Debug.Log”,因为我还没有为指定的通电创建行为。)

If and Then logic for distinguishing between powerups

现在在这种情况下使用逻辑没有任何问题。但是,如果我创建大约 50 个通电会发生什么?名单将永无止境。哪个是 为什么我们使用 switch 语句来给我们的脚本一个更优化和更干净的感觉。 以下是我们如何实现它:

switch 语句基本上就像流线型条件。当我们想要将单个变量与一系列常量进行比较时,它们很有用。 例如,在情况 0 中,Triple Shot 处于活动状态,或者在情况 1 中,速度将处于活动状态,依此类推。 在声明每个 switch 语句之后,需要一个 break。

Using switch statement to optimize our script

当我现在运行我的游戏时,当我现在收集速度加电时,它现在可以区分三枪加电所具有的不同行为。

Different behaviors in powerups now!

请继续关注,因为我将在下一篇文章中为我的玩家创建加速道具的行为!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/22438/17490710

posted @ 2022-09-07 10:18  哈哈哈来了啊啊啊  阅读(81)  评论(0编辑  收藏  举报