这节中我们将要学习游戏里最常用的两种逻辑:

  • 循环
  • 如果,那么

循环”就是不停的做同一件事,例如不停的跑,不停的跳跃,不停的播放声音,不停的播放动画等。

循环”又分为两种,一种有停止条件,一种没有停止条件。

让敌人从A点移动到B点,就是有停止条件的循环,停止条件为到B点。让背景音乐循环播放5次,也是有停止条件的循环,停止条件为5次。

无停止条件的循环从游戏开始时开始,直到游戏结束时结束。在游戏中你可以让背景音乐一直循环播放,直到游戏结束为止。

如果,那么”的逻辑非常的直白,如果玩家死了,那么游戏就应该结束。反之,如果玩家没有死,那么游戏就不应该结束。如果我干掉了一个敌人,那么我的得分就应该加一。如果敌人被子弹打中了,那么它就应该爆炸......

下面,我们以一个简单的例子,来学习使用这两种逻辑。

假设,当前游戏中存在两个点,分别为 A 点和 B 点,敌机要从 A 点飞到 B 点,当到达到 B 点时,又会再次回到 A 点,然后继续飞向 B 点,如此循环往复。

分析一下这其中的逻辑,想要让敌机从 A 点飞往 B 点,需要借助“循环”逻辑,让敌机不停的往 B 点的方向移动。当到达 B 点后,要再次回到 A 点,这里就需要借助“如果,那么”逻辑。“如果”敌机的位置达到了B点,“那么”就将敌机的位置重新设置到 A 点。

接着,我们看一下如何使用积木块来实现这个简单的功能。

首先,我们导入一些素材,来搭建一个简单的场景。

游戏开发新手入门教程9:游戏积木之逻辑_游戏开发入门教程

如图,我们导入了“圆点”和“基础文字”素材,并在编辑区中设置了A和B的两个圆点位置。

游戏开发新手入门教程9:游戏积木之逻辑_微信小游戏开发_02

小提示:图片的颜色可以通过调节属性区中的“颜色叠加”来进行修改。

在层级管理中选中“敌机”,然后在积木区中点击“添加事件”按钮,添加一个“当场景启动时”的事件。

游戏开发新手入门教程9:游戏积木之逻辑_游戏开发入门教程_03

这样就添加了一个“当场景启动时”的积木块,我们会把所有的逻辑放到“当场景启动时”的积木块中,这样只要游戏开始运行,敌机就会不停的从 A 点飞向 B 点了。

游戏开发新手入门教程9:游戏积木之逻辑_游戏开发教程_04

接着,我们来添加第一块积木。在积木区右侧选择“运动”,然后把“将自己移到随机的相对坐标”积木块,拖拽到积木区中。

游戏开发新手入门教程9:游戏积木之逻辑_微信小游戏开发_05

小提示:所有与移动,旋转相关的积木块都包含在右侧的“运动”中。

我们希望从游戏一开始,敌机就位于 A 点的位置,所以选择移动到“圆点”位置,“圆点”表示 A 点的位置,“圆点_1”表示 B 点的位置。

游戏开发新手入门教程9:游戏积木之逻辑_游戏开发新手教程_06

接着,我们要添加一块“循环”积木,点击右侧的“逻辑”,将“重复执行”积木拖拽到积木区。这里使用的是没有停止条件的循环积木块,下方蓝色方块中的三个积木块为有停止条件的循环积木块。

游戏开发新手入门教程9:游戏积木之逻辑_游戏开发入门教程_07

看起来是这个样子,接着将敌机的移动放在这个“重复执行”的积木块中。

游戏开发新手入门教程9:游戏积木之逻辑_游戏开发入门教程_08

选择“运动”,把“将自己的X坐标增加10”的积木块拖拽到积木区。

游戏开发新手入门教程9:游戏积木之逻辑_游戏开发教程_09

由于 B 点位于 A 点正下方,所以只需要设置 Y 轴的位置即可,让敌机不停的向正下方移动,这里通过让敌机的 Y 坐标不停的减少来实现。

游戏开发新手入门教程9:游戏积木之逻辑_游戏开发入门教程_10

点击“​预览场景​”看一下效果。

游戏开始后,敌机会从 A 点的位置开始一直向下飞,但是到达 B 点后,敌机依旧保持向下飞,直到飞出屏幕。

游戏开发新手入门教程9:游戏积木之逻辑_游戏开发新手教程_11

下面,我们添加“如果,那么”积木块,来实现到达 B 点后敌机再次从 A 点开始飞行。

在右侧的“逻辑”中找到“如果”积木块,拖拽到积木区。游戏开发新手入门教程9:游戏积木之逻辑_微信小游戏开发_12

接着增加判断条件,右侧选择“运算”,找到比较积木块,拖拽到“如果”积木块的判断条件处。游戏开发新手入门教程9:游戏积木之逻辑_游戏开发入门教程_13

我们需要对敌机的位置以及 B 点的位置进行比较,右侧选择“侦测”,找到“自己的x”积木块,拖拽到比较积木块上的椭圆形处。游戏开发新手入门教程9:游戏积木之逻辑_游戏开发入门教程_14

我们只需要比较敌机以及 B 点在 y 轴上的位置,所以选择 y 进行比较。在 y 轴上如果敌机的位置比 B 点的位置小,那就证明敌机达到 B 点了,此时“如果”积木块的条件成立。

游戏开发新手入门教程9:游戏积木之逻辑_微信小游戏开发_15

图中的“圆点_1”表示的就是 B 点。

条件成立后,我们要把敌机再次放回到 A 点的位置。

右侧找到“运动”中的“将自己移到随机的相对坐标”积木,拖拽到“如果”积木块中。

游戏开发新手入门教程9:游戏积木之逻辑_游戏开发新手教程_16

最终看起来是应该这个样子。游戏开发新手入门教程9:游戏积木之逻辑_微信小游戏开发_17

游戏开发新手入门教程9:游戏积木之逻辑_游戏开发新手教程_18

我们看着上方的图再过一遍整个逻辑:

游戏开始后,敌机被放到 A 点的位置,然后开始循环,敌机向 B 点移动,当敌机到达 B 点(敌机的 y 小于 B 点的 y)后,把敌机再次放到 A 点的位置,然后敌机再次从 A 点向 B 点移动。

点击“预览场景”,再次看一下效果。

游戏开发新手入门教程9:游戏积木之逻辑_游戏开发教程_19

你的游戏是否也实现了这个效果呢?

总结一下:

我们学习了游戏中最常用的两种逻辑“循环”和“如果,那么”。

利用这两种逻辑我们实现了一个简单的功能。

思考一下:

如果敌机从 A 点飞到 B 点,到达 B 点以后,再从 B 点飞回 A 点,如此来来回回的循环该如何实现呢?


我是会做游戏也会教你做游戏的小蚂蚁,想学习做游戏的话,关注我就对啦!欢迎关注公众号【小蚂蚁教你做游戏】,领取全网最全的微信小游戏开发原创教程资料。