Scratch 第十三课-飞机大战游戏

十三课-飞机大战游戏

  • 学习目标

这节课我们做一款大家都爱玩的飞机大战游戏,学习重点:

  1. 如何导入外部角色
  2. 如何让飞机发射子弹
  3. 鼠标控制角色移动
  • 程序设计

程序分析 : 飞机大战游戏相信很多小朋友都玩过,我方飞机在下方,通过鼠标控制移动,并且自动向上发射子弹,而敌机从舞台上方垂直下落,我们的目标就是不停消灭敌机,同时要躲开敌机。

  1. 角色设计:这节课需要的素材有我方飞机、敌机、子弹,飞机的造型很难绘制,所以我们可以直接从网上搜索下,导入造型即可。导入功能如下图 :

选择我们刚才找的飞机及其他素材,就可以在我们角色区域显示了!

  1. 首先对我方飞机编程,我方飞机是通过鼠标控制,鼠标到哪里,飞机到哪里,并且自动发射子弹。

鼠标控制角色移动,首先明确是一直跟随鼠标,所以肯定需要重复执行指令的,那跟随鼠标呢?可以用运动模块里的,下拉找到”鼠标指针“,看看下面的代码,是不是很简单!

当飞机移动的时候会一直发射子弹,大家想想!只有一个子弹造型,如何产生很多子弹呢?克隆体!可以通过克隆功能让子弹有无数个。现在分析下子弹发射的流程,子弹是从飞机上发射,向上垂直发射,当碰到舞台边缘消失,碰到敌机也消失。

首先我们先让子弹每间隔0.1秒克隆一个。代码实现为 :

克隆体本体隐藏,克隆体显示。子弹向上移动,是Y坐标增加。

测试下!发现子弹并没有从飞机上发射,换句话说克隆出来的子弹应该从飞机上开始移动!这个指令刚刚用过,我们可以让飞机移到鼠标上,是不是也可以让子弹移到飞机上?

现在测试下,是不是就移到飞机上了!

子弹碰到舞台边缘消失,这里就不讲了。有个地方注意下,子弹碰到舞台边缘不能使用外观的功能,而是需要使用控制里的功能,因为子弹是克隆体产生的,克隆体的最大数量是300个,隐藏功能只是我们看不到,但是还是存在的,而删除克隆体,产生的克隆体总数就减少一个。

  1. 敌机的实现:敌机的效果为从舞台上方往下走,碰到子弹消失,而碰到舞台下边缘则消失。它的运行轨迹和实现方式和子弹有些类似,只是出发点和移动方向不同而已。这里只给思路就不给代码了,大家自己尝试下:
    1. 敌机每个一段时间克隆!注意时间不能太小,否则敌机太多了!
    2. 克隆体的敌机从舞台上方出来,坐标Y=180,而X坐标是一个区间的随机数(这部分代码我们前面课程有)
    3. 敌机从上方往下方走!Y坐标如何变化?
    4. 当碰到舞台下方边缘,消失?碰到下方如何判断呢,是碰到舞台边缘还是小于Y坐标的值?敌机是克隆体,隐藏的话需要哪个指令?

以上4给注意事项,仔细想想,相信都能做出来的。

  1. 当子弹碰到敌机,敌机消失,同时我们要加积分,这里需要强调的是,当两个角色碰撞后,需要更改变量值的时候,注意:其中一个角色一定要隐藏掉,否则变量会一直变化!那到底给哪个角色编程来判断呢?谁消失给谁编程。这节课是敌机消失,所以给敌机编程,如果碰到子弹,敌机消失,同时加积分!

今天的课程就到这里了,是不是感觉很简单啊!

尝试完善这个游戏,改造成两个人同时玩!看看咋改造呢?

  • 12
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值