整合到一起,做出小游戏(下)

简介: 终于到了真正动手做游戏的时刻,在这一节里,我会带你从头开始将我们的“太空保卫者”按照设计方案制作出来。这一节里的内容会非常的多,一遍消化不了,可以多读几遍。别着急,慢慢来。

接下来,我们在编辑区中调整一下战机,敌机和子弹的大小,然后将得分放在左上角的位置。这样,游戏场景就布置好了。

640.png


到现在为止,我们已经完成了游戏中的所有的可见的部分,接下来我们就要逐一实现那些不可见的部分---逻辑。


在上一节中(从想法到设计)我们分析了游戏场景中主要的几个部分:战机,敌机,子弹,得分。接下来,我们会一个一个的进行实现。


首先,我们先要配置游戏中需要用到的“变量”和“通知”。如果你对这两个概念没有印象了,请去回顾 变量 和 通知。


640.png

如图,我们新建了两个全局变量,一个用于记录得分,一个用于记录游戏是否结束,0 表示没有结束,1 表示游戏结束。新建了一个“敌机爆炸”的通知,每当敌机发生爆炸时就会发送这个通知,“得分数字”每当接收到这个通知时,就会将得分加一。


接着,我们先从战机开始。战机需要添加下面的逻辑:

- 当手指点击战机拖拽时要做出响应,战机位置跟随手指移动。


- 战机碰撞到敌机时,则游戏结束,显示游戏结束提示。

选中“战机”,为战机添加如下的积木块。

640.png

积木块的逻辑清晰明了,在此就不再做多余的解释了,如果对碰撞有关的积木块感到疑惑,请回顾 游戏积木之碰撞。


接着,子弹需要处理以下的逻辑:

- 游戏开始后就不停的克隆子弹。


- 当子弹被“克隆”出来后,将其位置设置在战机的位置。


- 当子弹碰撞到“敌机”时,子弹应该被销毁。

选中“蓝色子弹”,为其添加如下的积木块。与“重复执行”和“如果”相关的积木块,请回顾 游戏积木之逻辑,与“克隆”相关的积木块,请回顾游戏积木之克隆。

640.png


这里注意最上方的积木块“当自己移出全部边缘”,在这里我们做了删除处理,即当子弹飞出屏幕后,将其删除。因为,在游戏中有些子弹没有击中敌机,会直接向上飞出屏幕,如果我们不将其删除的话,它们会继续留在游戏中,虽然我们看不见。当这些无用的子弹累积的越来越多的时候,游戏可能就会变得卡顿。所以,对于这些飞出屏幕的无用的子弹,我们直接做删除处理。


接着,我们再处理敌机的逻辑。

- 游戏开始后就要每间隔一定的时间“克隆”敌机。


- 当敌机被“克隆”出来后,将位置设置为屏幕顶端的随机位置。


- 当子弹碰撞到敌机时,敌机销毁,并发送一个“敌机销毁”事件。

选中“敌机”为其添加如下的积木块。与动画有关的积木块,请回顾 游戏积木之动画。

640.png

这里需要特别注意以下用红框圈出的积木块“设置自己不参与碰撞”,这块积木的作用是让敌机不再参与碰撞,因为在我们的游戏中,敌机只要被一颗子碰撞到,就会发生爆炸,我们只想让敌机的爆炸逻辑执行一次,即子弹打中敌机,敌机发生爆炸,这个过程就应该结束。如果在敌机与子弹发生碰撞后,不立即将敌机的碰撞解除,那么就意味着,如果再有一颗子弹碰撞到敌机,敌机就会再发生一次爆炸,很显然,这不是我们期望的结果。


最后,我们处理得分的逻辑:

- 查看是否有“敌机销毁”事件,如果有,就将得分加一

选中“白色数字”,为其添加如下的积木块。与通知有关的积木块,请回顾 游戏积木之通知。

640.png


似乎还少了一个背景音乐,我们就将背景音乐的积木逻辑放在背景上,选中层级管理中的“背景”,然后添加如下的积木块。

640.png


所有的逻辑部分都处理完了,在预览场景之前,我们再做一点儿调整。


640.png

如图,我们将“敌机”和“蓝色子弹”的本体移除到界面之外,这样游戏运行之后,就只能看到按照预定的逻辑出现的克隆体了。


点击“预览场景”看一下效果吧!

640.gif

看起来还不错,如果你一步一步的走到了这里,并看到了上方的效果,那么意味着你的第一个小游戏马上就要做出来了。


当前的星空背景是固定不动的,理论上来讲当我们向上移动时,周围的景物是应该向下移动的,下面我们对游戏的背景进行一下简单的设置,让其具备移动的功能。


在图层区中选中“背景”,然后在图层属性区中点击“管理行为”按钮。

640.png


在弹出的“管理行为”页面中将“循环滚动”右侧的开关打开。

640.png


添加完行为后,你会发现在图层属性区的下方出现了“循环滚动”的条目。

640.png


设置一下循环滚动,因为这是个竖屏的游戏,所以平铺方向选择“竖向”,然后勾选“自动移动”。

640.png


再次,点击预览场景看一下效果:

640.gif

背景开始向下移动了,有在太空中飞行的感觉了。


试着碰撞一架敌机,看看游戏结束的画面。

640.png

你可能发现了,当你点击“开始”按钮想要再次进行游戏时,没有任何反应。下面我们就来看一下是哪里出了问题,并将它解决。


我们选中层级管理中的“开始”按钮,看一下它的逻辑。

640.png

它的逻辑是点击后,切换到“游戏场景”,这是在“开始场景”中我们为它添加的逻辑,目的是从“开始场景”跳转到“游戏场景”,但是这里我们已经身在“游戏场景”中了,所以点击“开始”按钮没有任何效果。


我们对其做一下修改,使用一块“重启当前场景”的积木,这样当点击“开始”按钮后,就会重新启动当前的场景了。

640.png


最后不要忘了,在重新开始游戏后,要将“是否结束”的全局变量设置为 0。

640.png


再次预览一下场景,碰撞一个敌机,显示游戏结束提示,然后点击“开始”按钮,游戏再次开始了。


现在,将场景切换到“开始场景”,选择“开始_1”按钮,你会发现,它的积木逻辑也变成了我们刚才修改的逻辑。

小提示: 因为我们在“开始场景”和“游戏场景”都用的是同一个“开始”精灵素材,所以使用的逻辑也都是相同的,如果想要使用不同的逻辑就需要再创建新的“开始”精灵素材,然后为其增加新的逻辑。

640.png


我们要重新为“开始场景”创建一个“开始”按钮素材。在素材管理器中右键点击“开始”精灵,然后选择复制。

640.png


这样就增加了一个新的“开始-1”精灵。

640.png


我们修改一下其中的逻辑积木,为了便于区分将两个素材进行重命名,一个为“开始-开始场景”,另一个为“开始-游戏场景”。

640.png640.png


这样我们就有了两个“开始”精灵,并且每一个都带有自己的积木逻辑了。


最后,我们移除开始场景中原有的开始按钮,将新的“开始-开始场景”素材拖拽进来。

640.png


点击“预览场景”,看一下最终的效果:

640.gif

恭喜,你的第一个小游戏完成了。


总结一下:

我们按照“太空保卫者”的游戏设计方案,将游戏一步一步的做了出来,如果你之前从未有过游戏开发经验,那么这就是你人生中做出的第一个游戏了。


祝贺你!


如果你最终没有做出预期的效果,那么你可能需要多读几遍,并且按照文中的截图认真比对看看哪里出了问题,如果有看不懂的积木逻辑,那么你可能需要回顾之前所学的与积木有关的内容。

相关文章
|
4月前
|
开发者
不会美术也能做出好看的游戏
不会美术也能做出好看的游戏
25 0
|
11月前
|
Windows 容器
整合到一起,做出小游戏
终于到了真正动手做游戏的时刻,在这一节里,我会带你从头开始将我们的“太空保卫者”按照设计方案制作出来。这一节里的内容会非常的多,一遍消化不了,可以多读几遍。别着急,慢慢来。 首先,我们要准备好游戏中需要用到的所有素材。
69 0
|
11月前
|
算法 小程序
如何做一个泡泡龙游戏(六)
嗨!大家好,我是小蚂蚁。 上一节中,我们学习了泡泡龙游戏中的查找算法,这个算法可以帮助我们找到所有相邻的相同颜色的泡泡,在查找完泡泡之后,再通过判断满足条件的泡泡的数量是否大于等于 3,来决定是否应该进行消除。
76 0
|
11月前
|
小程序 索引
如何做一个泡泡龙游戏(二)
嗨!大家好,我是小蚂蚁。今天我们继续学习制作一个泡泡龙游戏。 绝大部分的泡泡龙游戏都是关卡制的,你玩过了一关,然后接着再玩下一关。每个关卡其实都是预先设计好的,闯关的过程就是游戏将一个一个设计好的关卡呈现给玩家的过程。这些关卡都是怎样设计的呢?游戏又是怎样将这些设计好的关卡呈现出来的呢?欢迎带着这两个疑问开启今天的阅读之旅。
96 0
|
11月前
|
算法 小程序
如何做一个泡泡龙游戏(五)
嗨!大家好,我是小蚂蚁。我们今天来继续学习泡泡龙游戏中最核心的东西:查找匹配算法。 其实这也不算是什么新东西了,如果你有看过我的其它关于消除游戏的教程,应该会知道,消除游戏的查找算法就那么一个,不论何种类型的消除游戏,这个算法的核心是不变的,只不过会根据不同类型的消除稍作调整而已。所以,如果你之前对查找算法还不是很了解的话,那么就尝试跟随着这篇教程把它彻底搞懂吧!
89 0
|
11月前
|
小程序
如何做个泡泡龙游戏(四)
嗨!大家好,我是小蚂蚁。在上一节中,我们学习了泡泡的发射,移动,反弹和停靠。所有的这些都是以计算的方式来实现的,我们没有选择使用物理,碰撞检测这些方式,因为泡泡龙游戏需要一定的精准性,而通过在每一帧进行计算,可以保证游戏的精准。
86 0
|
11月前
|
小程序 流计算
如何做个泡泡龙游戏(三)
嗨!大家好,我是小蚂蚁。今天我们来继续了解在泡泡龙游戏中,泡泡是如何发射,移动,反弹和停靠的。 这一节里会涉及到比较多的数学运算,不过完全不用担心,试着找一张纸和一支笔,画一画,很容易理解的。
100 0
|
11月前
|
小程序
如何做一个泡泡龙游戏(一)
嗨!大家好,我是小蚂蚁。从今天开始,我将会用几篇文章讲一下如何制作一个泡泡龙游戏,泡泡龙是一个传统经典的消除游戏,也是一个经久不衰永不过时的游戏。 这篇文章我们主要来了解一下如何设置泡泡龙游戏的初始布局。
103 0
|
11月前
|
定位技术 开发者
如何做一个俄罗斯方块游戏(一)
从今天开始,我将开启一个新的游戏,并且顺带着会写一个新的系列教程,这个游戏就是人人都知道的——俄罗斯方块。 我一直都在做消除类型的游戏,在所有消除类型的游戏里,俄罗斯方块可以称得上是“鼻祖”了,所以,不论怎样这个系列里都不能少的了它。
103 0
|
11月前
|
算法 索引 容器
如何做一个俄罗斯方块游戏(二)
嗨!大家好,我是小蚂蚁。今天我们继续学习如何做一个俄罗斯方块游戏。整个系列教程计划按照这个流程图开展,这也是我制作整个游戏的过程,今天我们就来看一下“随机生成形状”这个模块。想要实现随机的生成形状,首先必须要知道在俄罗斯方块中一共有多少种形状(也就是我们上一节中留下的第二个问题)。
126 0