第十三课-飞机大战游戏
- 学习目标
这节课我们做一款大家都爱玩的飞机大战游戏,学习重点:
- 如何导入外部角色
- 如何让飞机发射子弹
- 鼠标控制角色移动
- 程序设计
程序分析 : 飞机大战游戏相信很多小朋友都玩过,我方飞机在下方,通过鼠标控制移动,并且自动向上发射子弹,而敌机从舞台上方垂直下落,我们的目标就是不停消灭敌机,同时要躲开敌机。
- 角色设计:这节课需要的素材有我方飞机、敌机、子弹,飞机的造型很难绘制,所以我们可以直接从网上搜索下,导入造型即可。导入功能如下图 :
选择我们刚才找的飞机及其他素材,就可以在我们角色区域显示了!
- 首先对我方飞机编程,我方飞机是通过鼠标控制,鼠标到哪里,飞机到哪里,并且自动发射子弹。
鼠标控制角色移动,首先明确是一直跟随鼠标,所以肯定需要重复执行指令的,那跟随鼠标呢?可以用运动模块里的,下拉找到”鼠标指针“,看看下面的代码,是不是很简单!
当飞机移动的时候会一直发射子弹,大家想想!只有一个子弹造型,如何产生很多子弹呢?克隆体!可以通过克隆功能让子弹有无数个。现在分析下子弹发射的流程,子弹是从飞机上发射,向上垂直发射,当碰到舞台边缘消失,碰到敌机也消失。
首先我们先让子弹每间隔0.1秒克隆一个。代码实现为 :
克隆体本体隐藏,克隆体显示。子弹向上移动,是Y坐标增加。
测试下!发现子弹并没有从飞机上发射,换句话说克隆出来的子弹应该从飞机上开始移动!这个指令刚刚用过,我们可以让飞机移到鼠标上,是不是也可以让子弹移到飞机上?
现在测试下,是不是就移到飞机上了!
子弹碰到舞台边缘消失,这里就不讲了。有个地方注意下,子弹碰到舞台边缘不能使用外观的功能,而是需要使用控制里的功能,因为子弹是克隆体产生的,克隆体的最大数量是300个,隐藏功能只是我们看不到,但是还是存在的,而删除克隆体,产生的克隆体总数就减少一个。
- 敌机的实现:敌机的效果为从舞台上方往下走,碰到子弹消失,而碰到舞台下边缘则消失。它的运行轨迹和实现方式和子弹有些类似,只是出发点和移动方向不同而已。这里只给思路就不给代码了,大家自己尝试下:
- 敌机每个一段时间克隆!注意时间不能太小,否则敌机太多了!
- 克隆体的敌机从舞台上方出来,坐标Y=180,而X坐标是一个区间的随机数(这部分代码我们前面课程有)
- 敌机从上方往下方走!Y坐标如何变化?
- 当碰到舞台下方边缘,消失?碰到下方如何判断呢,是碰到舞台边缘还是小于Y坐标的值?敌机是克隆体,隐藏的话需要哪个指令?
以上4给注意事项,仔细想想,相信都能做出来的。
- 当子弹碰到敌机,敌机消失,同时我们要加积分,这里需要强调的是,当两个角色碰撞后,需要更改变量值的时候,注意:其中一个角色一定要隐藏掉,否则变量会一直变化!那到底给哪个角色编程来判断呢?谁消失给谁编程。这节课是敌机消失,所以给敌机编程,如果碰到子弹,敌机消失,同时加积分!
今天的课程就到这里了,是不是感觉很简单啊!
尝试完善这个游戏,改造成两个人同时玩!看看咋改造呢?