这一节里我们学习一下另一种游戏中常用的积木:克隆。
先回顾一下克隆的概念,就是将一个东西复制出很多份,每一份都是一个“克隆体”,而所有的“克隆体”都与“本体”有着相同的特性。
在“飞机大战”的游戏中,需要有许许多多的敌机不停的从屏幕上方落下来。
我们就使用“克隆”来实现这个功能,通过“克隆”敌机,来产生无穷无尽的敌机。
首先,导入“背景”和“敌机”素材,布置一下场景。
接着,认识一个与“克隆体”有关的事件积木块。
在层级管理中选中“敌机”,然后点击“积木区”的“添加事件”按钮,选择“当作为克隆体启动时”事件。
添加后的积木块是这个样子。
“当作为克隆体启动时”这个积木块会在“克隆体”被创建出来后立即调用。举个例子:现在我需要克隆“敌机”,但是我希望新生成的“敌机”被放在指定的位置(例如屏幕的最上端),这时我们就可以在“当作为克隆体启动时”的积木块中设置“敌机”的位置。这样,新克隆出来的敌机就在我们指定的位置出现了。
接着,我们就试着实现一下这个功能:新生成的“敌机”在屏幕顶端出现,并且一直向下移动。
选择右侧的“运动”,把“将自己的X坐标增加10”积木块拖拽到积木区中。
设置一下积木块,将Y值设置到 700,700 就是屏幕顶端的位置。
在“编辑区”的左边和上边分别有“垂直标尺”和“水平标尺”。从下图中可以看出,游戏中屏幕的最高位置为 700。
接着,我们让生成的敌机沿着屏幕一直向下飞。还记得要想一直向下飞需要用到什么逻辑吗?循环。如果忘记话,可以重温一下上一节的教程。
我们添加一个重复执行的循环积木。
接着,在循环积木中加入“将自己的X坐标增加 10”积木。
向下飞只需要将 Y 值减小即可,最终看起来应该是这个样子。
这样,当一架新的敌机被“克隆”出来以后,就会出现在屏幕的顶端,并且开始向下移动了。
下面,我们就来把敌机“克隆出来”吧!
现在假设,在游戏一开始我们就不停的去“克隆”敌机。
点击“添加事件”,选择“当场景启动时”事件。
接着,添加一块“重复执行”积木。
我们希望每间隔 1 秒钟,生成一架“敌机”,所以,再添加一块“等待 1 秒”积木块。
最后,将“控制”中的“克隆自己”拖拽到“等待 1 秒”积木块下方。
最后看起来是这样:
当场景启动后,每间隔 1 秒钟,就会克隆出一架“敌机”,这架敌机会在屏幕顶端的位置出现,然后一直向下飞行。
点击“预览场景”看一下效果。
当前所有的“敌机”都是从屏幕顶端的同一个位置向下飞的,但是,在真实的游戏中,我们希望“敌机”能够随机的在不同的位置开始向下飞行。
接下来,通过增加一块积木来实现这个功能。
选择“运动”,把“将自己移到随机的相对坐标”积木拖拽到“设置自己的Y坐标为700”的积木块上方。
这块积木的作用是:在屏幕中随机的选择一个位置,然后将自己(敌机)放到那个位置。
我们先在屏幕中随机一个位置,然后再将Y位置设置在屏幕的顶端,结果是相当于我们的敌机可能出现在屏幕顶端的水平方向的任意位置上。
点击“预览场景”再看一下。
敌人从不同的位置开始向下飞,这就是我们想要的效果。
你可能已经发现,游戏中“敌机”的本体一直位于场景的顶端,我们不希望它出现在这里。
在“编辑区”中选中“敌机”,将它移到场景之外即可。
再次“预览场景”。
看起来不错,这样我们就完成了在游戏中不停产生敌机的功能。
下图就是敌机上的所有积木逻辑。
游戏开始后,每隔一秒生成一架敌机。
每当新的敌机生成出来,我们就把它放在屏幕顶端的随机水平位置处,然后让它不停向下移动。
回顾一下:
我们学习了如何使用“克隆”积木块,并且实现了在游戏中随机生成敌人的功能。
练一下:
试想一下利用“克隆”还能实现哪些有趣的场景呢?尝试着动手实现一下。
我是会做游戏也会教你做游戏的小蚂蚁,想学习做游戏的话,关注我就对啦!欢迎关注公众号【小蚂蚁教你做游戏】,领取全网最全的微信小游戏开发原创教程资料,交个朋友。