【游戏教程】制作游戏示例——冲吧!小吃货

示例名称:冲吧小吃货

(注:教程中提到的父对象功能,已经被现在的标签功能取代,详细请参考教程:http://qyapp.cn/bbs/forum.php?mod=viewthread&tid=43243&highlight=%E6%A0%87%E7%AD%BE)

示例步骤:

1. 登录界面、游戏名称以及素材的导入我相信大家都已经很了解了,就不细说了;

2.每个游戏都有开始界面、游戏界面、失败界面以及成功界面(game_start/game_ing/game_fail/game_win)

开始界面比较简单,将背景导入,以及建立一个1600×900的场景,将素材放置效果图对应位置,接下来我们需要给play制作按钮点击事件,双击需要编辑对象—添加事件—鼠标按下—动作库—主要1—转至场景game_ing和播放sounds_click声音,操作如下图所示1

“小吃货”怎么在场景中展示动画过程呢?关键帧动画的制作过程这里详细操作一遍,后面如有遇到类似都是一样的操作;需要我们将“小吃货”运动的各个关键帧图片排列对齐好,放在一张大图上,我的这个图片是有宽220300张数为6,行数为1的小图排列而成,导入我们的场景中之后需要双击素材(objects_fly_chowhound)—图形—更多—关键帧动画—数值如图所示:2

这样再把素材放置场景位置,“小吃货”就动起来了!

我在play按钮处放置了两个小星星,是可以运动的哦,但是素材本身只是一张图片,这个动画有时怎么做的呢?这里我也详细说一下,类似的旋转类,缩放类,改变透明度类的动画都可以直接制作的哦!我们点击场景中动画—添加—在弹出的对话框中编辑动画—选择对象、命名—设置缩放、旋转角度和透明度—新建一帧—设置缩放、旋转和透明度,如下图所示:3

这样动画就做好了,我们回到场景中,双击星星(objects_star)—添加事件—创建—动作库—移动—执行动画—选择刚刚做好的动画即可

我们保存好调试一下看看效果吧!在制作游戏的过程中要经常性的保存和调试看看效果哦!

接下来是游戏界面了!场景和背景我们已经建立好了,接下来就是要将云朵和前景假山放置在场景中,首先云朵会在场景中不断的移动,假山亦是;接下来是不断随机出现的各种随机障碍物和三种不同的怪物随机出现;最后“小吃货”会一直在场景中飞翔,如果不点击画面,“小吃货”就会掉下去;我们一步步来;

先将云朵和假山放在场景中—双击云朵素材—更多—设置横向速度为50纵向速度为0,如下图所示:4

保存调试一下就会看到云朵在移动;

假山素材比场景要小,所以我们改变假山的长度为1600,其他操作如云朵

5

接下来先做“小吃货”的飞翔动作了,首先我们要给场景设置个物理属性引力为100,如下图所示:6

当场景是一个物理世界的时候,我们只要给我们的对象勾选上物理属性,场景中的引力就会对该对象产生作用的;

然后我们双击站立不动状态的“小吃货”素材(objects_chowhound_stand),启用物理属性,点击物理属性按钮,在弹出的对话框中设置引力缩放为0,如下图所示;如果启用物理属性,没有设置引力缩放为0的话,这个对象就会由于重力(引力)掉下场景的,大家可以试一试:7

接下来我们要完成点击场景的任何位置的时候“小吃货”可以飞起来,没有点击的时候就会往下掉;操作如下:

首先我们回到场景,点击场景右侧的添加事件按钮,在弹出的对话框中添加上鼠标按下和按下键盘上键的事件,首先要将站立状态的“小吃货” objects_chowhound_stand)改为飞起来的“小吃货”(objects_fly_chowhound1),接下来按下鼠标或键盘上键的时候小吃货会移动一段距离(x:100,y:100),但是当小吃货移动到场景X坐标700的时候只能往上移动,不能往前移动了;我们需要对X坐标进行比较判断,如下图

8

9

如果大于700的话x坐标0y坐标-100,否则x坐标100y坐标-100

现在我们就实现了鼠标按下场景的时候“小吃货”就动起来了;

但是要一直不停的点击场景有点累哦,所以我们要做的是鼠标按住不放的时候“小吃货”可以一直往前上方位移,我们需要做一个时间轴;做一个时刻为1的时间轴;然后和之前的动作一样,比较一下自身的横坐标是否大于700:

26

然后我们再回到场景中,回到刚刚给场景添加的事件中来,然后给鼠标按下这个时间设置时间轴,选择刚刚做好的时间轴应用到飞起来的“小吃货”上立即开始,并且循环,这样的话,“小吃货”按住鼠标不放的话“小吃货”就可以一直向前上飞了;当然我们还要做鼠标松开或者松开键盘上键的时候需要停止时间轴;如下图所示

10

l       下面就要来设置障碍物了;障碍物有几种会随机出现在场景中;我们又要来设置时间轴了,这个游戏很多地方都有用到时间轴,时间轴的应用种类比较多,之前讲了一种,现在说的是第二种,每隔一段时间创建一个随机的障碍物,具体如下:首先添加一个时间轴—设置时刻为150—动作库—设置变量如下图所示:

27

接下来我们需要测试变量在等于0的情况下创建一个实例如下图

28

否则的话我们需要再测试变量值在等于1的情况下创建一个实例,如下图:29

在否则的话我们再测试变量是否等于2一直到测试变量是否等于7,在等于7的时候创建一个不同位置的不同实例,否则的话在不同的位置创建另一个不同的实例;结构图如下:1516

l       同理对于小怪物的出现也是随机的,方法同上

l       接下来,我们要把上面制作的随机障碍物和小怪物都应用到对象上去;我们新建一个对象命名为objects_bar,勾选启用物理属性设置引力缩放为0,添加事件—创建—设置自身速度为(-3000)如下图所示:

17

当自身与“小吃货”发生碰撞的时候,小吃货就会变成撞到状态的“小吃货”如下图:

18

接下来我们将分别双击objects_tree1objects_stone3objects_stone1objects_treeobjects_tree1_daoobjects_tree_dao六个对象;设置器父对象为objects_bar,启用物理属性,即可,如下图:

19

然后回到场景中,给场景添加事件,当场景创建的时候执行tm_bar的时间轴即可

同理小怪物也是同样的方法应用上;

l       现在说时间轴的第三种应用,即倒计时;我们的游戏要怎么样才能成功通过呢?在时间跑完之前,我们没有碰到小怪物和障碍物我们就胜利了,所以我们需要做一个倒计时的时间轴,时刻为60设置宽度为-4,意思为每秒减去四个像素的宽度;然后回到动作库控制里面,测试宽度,是否小于0,当小于0的情况下,表示我们顺利通关 转到场景game_win;如下图

20

我们需要把时间轴运用到游戏中,当“时间轴”( objects_time_1)创建的时候执行时间轴tm_daojishi即可;

l       那什么情况下我们会失败呢?当我们的“小吃货”和场景中障碍物以及“小怪物们”撞到时就会失败了,还有就是当“小吃货”跑出场景上或者下的时候也会失败的哦~所以我们要给飞行状态的“小吃货”一个碰撞的事件,当“小吃货”与

objects_tree1objects_stone3objects_stone1objects_treeobjects_tree1_daoobjects_tree_dao发生碰撞的时候,首先要将“小吃货”改为“被撞倒状态的小吃货”;如下图21

当“飞行状态小吃货”出了场景上或者下的时候直接转到场景:game_lose,表示游戏失败!22

刚刚“飞行状态小吃货”与障碍物或者发生碰撞的时候变成了“撞到状态的小吃货”我们需要转到游戏失败界面哦,所以我们双击“撞到状态的小吃货”,勾选物理属性,当其受引力影响会出场景,我们只需要做一个出现场转至game_lose即可完成!如下图23

l       到这里我们只剩下五门成功和失败界面了,我相信做到这步后面难不倒大家了,首先是成功界面,我们游戏胜利了还有一封表白的情书哦,当我们点击场景中“win”就会转到情书界面如下图24

l       接下来是失败界面了,失败界面我们有一个重玩的按钮,按钮的做法相信大家都知道了,鼠标按下—转到game_ing界面即可,如下图:

25

l       到这一步我们这个游戏就剩下背景音乐和一些点击音效了,点击音效很简单,就是给鼠标按下时间播放一段音效即可,背景音乐也不复杂,只要给场景添加事件即可,当场景创建的时候播放背景音乐,设置循环,这样我们整个游戏就完成了!