使用双重循环
在游戏开发中我们也会经常遇到需要使用双重循环的时候,例如我们需要遍历一个 5 行 5 列的表格,或者需要创建一个 5 行 5 列的对象等。所谓的双重循环其实就是同时使用两个循环,只不过这两个循环是嵌套的,即循环中的循环。
下面我们就结合着克隆,使用双重循环来实现创建 5 行 5 列的小球。
首先,创建一个场景,放置一个红色的小球和按钮,当点击按钮后,会创建 5x5 的共计25个小球。
新建两个全局变量“行”和“列”用于计算新克隆出来的小球的水平和竖直的位置。
接着来看一下红色小球的逻辑。
运行一下看看最终的结果。
使用双重循环最重要的地方在于要捋清自己的思路,是想一行一行的创建还是想一列一列的创建,然后根据具体的需求决定哪层循环在外,哪层循环在内。至于三重循环,即循环中的循环中的循环,在游戏开发中用到的比较少,其实道理都一样,只不过又多了一层循环而已。
在循环的中退出
在使用循环时,我们也经常会遇到需要中途退出的情况,比如说在循环执行到达某个条件时,我们就不需要再继续循环了。
我们可以使用这两块积木块来退出当前的循环。
以上方的创建小球为例,比如说当前我们只想要创建三行小球就满足条件了,这时我们要让循环退出,不需要再继续创建剩余的两行了。这时我们就可以通过条件判断,使用退出循环积木块来达到目的。
再次运行一下。
创建 3 行后退出循环,不会再继续创建了。
“退出逻辑循环”积木与“退出循环”积木的用法一样,只不过使用于逻辑循环中。
带条件的循环
最后,我们再来看一下重复执行中的一个非常好用的积木块“重复执行直到….”,这个积木块可以让这个循环一直执行,直到达成某个条件时循环才停止。
一个简单的小例子,我们让正方形不停的旋转,当点击“停”按钮后,停止旋转。
首先创建一个“停下来”的全局变量。
看一下正方形的逻辑。
当点击按钮时,将“停下来”设置为1。
预览一下。
红色正方形一直旋转,点击“停”后,停止旋转。
这个带停止条件的循环可以用于很多的场景,例如敌人一直在巡逻,知道你靠近时停止巡逻,改为追击,雨一直下直到太阳出来后停止等等。
最后总结一下,在这篇文章中我们了解了下面这些关于循环内容:
- 帧的概念
- 重复执行与逻辑循环的区别
- 循环在物体运动中的使用
- 循环在克隆中的使用
- 使用双重循环
- 在循环中途停止循环
- 使用带条件的循环
这就是游戏开发中常用的循环的使用方式了,你还能想到哪些循环的使用方式呢?欢迎留言讨论。
文中项目已开源到社区,有需要的朋友可以自行获取。
项目地址:https://gamemaker.weixin.qq.com/#/game?game_id=lbNTM2Yjc5ZDctYWFmMi00MWJmLWI5ZTktZTVkNTQwYjdlYWRi
如果你对游戏开发感兴趣,欢迎关注我,如果你有对游戏开发感兴趣的朋友,也欢迎把这个系列文章推荐给他。