* * * * *
* * * * *
## 游戏介绍
Hi,小朋友们!我是阿达老师。我们从这节课开始进入一下新的游戏的学习,在经历了《星星猎手》的激动,《寻找蛋糕》的刺激之后,今天我们来一个拼手速的游戏,我们新游戏的名字叫做《灵药战争》你准备好了吗?我们开始吧
## 游戏背景介绍
小阿达,来到了神秘的异次完空间,那里有可以提升智力的灵药,为了能够变得更聪明,小阿达决定闯闯这个异次元空间,与怪物大战三百回合,收集足够多的灵药
在这个游戏项目中有三个角色,分别是:
守卫灵药的怪物:
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fv61l7xdu3j20f60bi3yo.jpg)
我们的小战士——阿达:
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fv61n3pm8fj20as0cudg4.jpg)
还有就是神奇的灵药:
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fv61o8a2zzj20do0cmq4n.jpg)
## 实现分析
在这个快节奏的游戏灵药争夺战中,小朋友们需要用闪电般的反应去捕捉灵药,同时怪物在对你步步紧逼,游戏使用的克隆功能,组织了一支庞大的怪物军团
我们要实现的效果是:
1、阿达要能够跟随着鼠标快速的移动,并收集灵药,
2、灵药能够被不断的被复制出来,并且向阿达靠拢,当阿达收集到一颗灵药时,我们让分数增加1
3、怪物迅速的在舞台区游荡,当阿达不小心碰到导致时,我们让分数减1
4、当分数积累到一定数值时,我们就顺利过关啦,提示“good job”
5、当分数下降到0 以下时,我们游戏就失败了,提示“game over”
## 本节课知识点
使用克隆知识点来实现怪物在舞台区的迅速移动
## 视频实战
我们打开网易咔嗒,因为这节课我们是创作一个全新的作品,所以,直接在首页点击“开始创作”按钮,进入scratch的编程环境
把我们预先准备好的,角色导入到角色区,
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fv6211pznuj20kg0ac75e.jpg)
小朋友如果喜欢阿达老师的角色可以给老师留言,老师把游戏当中使用到的角色素材放到服务器上,你就可以直接下载了
首先,让怪物的翅膀舞动起来,我们通过之前学过的知识知道,可以使用造型切换的功能来实现这个效果,代码如下:
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fv62391gjkj206a06adg2.jpg)
接下来我们再建立一个绿旗点击事件,从事件模块组里拖入`当绿放被点击`代码块,在下面拖入设置角色大小的代码块,我们把角色大小设置为30,
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fv6261c44sj209w042t8t.jpg)
接下来,给怪物设置一个随机的方向,从动物模块组里拖入`面向90度`代码块,从运行符模块组里拖入`随机数`代码块,将随机数取值范围设置为-180到180之间,
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fv628sg3nyj20ec024aa5.jpg)
设置好方向,就可以让怪物动起来了,因为怪物移动的方向是随机的,那么,它是非常有可能移动物舞台区外面去的,所以,我们从动作模块组里拖入`碰到边缘就反弹`代码块,放入循环移动的逻辑算法里,代码如图:
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fv629m42igj206g04e3yq.jpg)
最后,我们从控制模块组里拖入`克隆自已`,克隆即是复制的意思,我们复制了一个一模一样的怪物出来,我们把刚刚编写的代码组装起来,如下图所示:
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fv62h1krrjj20gi0bsta1.jpg)
被复制出来的怪物兼具了以上这段代码所实现的所有特性,即:复制出来的怪物大小被设定为30,同时,它会随机的选择方向,在舞台区穿梭飞翔,且碰到舞台区的边缘就会反弹
细以的小朋友应该还注意到了,我们在随机选择方向移动的外围还套了一层循环,这层循环的意思是需要不断的执行随机选择方向移动,同时需要不断的循环复制,那么,就会有越来越多的怪物参与到战斗中来,
我们现在有了克隆体,但是克隆体要执行什么规则我们并没有给它设定,所以,我们需要为克隆出来的怪物进行编码,为克隆体编码有一个专用的代码块,就是控制模块组里的`当作为克隆体启动时`,我们把它拖到脚本区,在它下面继续进行编码,设定虚像物资为50,设置旋转模式为左右旋转
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fv62ombfscj20bu04kt95.jpg)
我们要实现怪物向阿达逼近的效果,所以,从动作模块组里拖入`面向鼠标指针`代码块,将“鼠标指针”改为“阿达”,再拖入`移动3步`代码块,套入10次循环框架,我们设定如果在10次循环逼近阿达的执行过程当中碰到了阿达,我们就让分数-3,所以,我们先要建立一个用于存储分数的变量,我们把这个变量起名为“得分”
下面我们来实现分数减少的代码,从控制模块组里拖入`如果...那么....`代码块,在条件判断当中拖入`碰到阿达`条件代码块,在条件结果当中拖入`将得分增加-3`代码块,我们再给这段代码增加个声效,
当执行完这些代码块之后,克隆体的生命周期就结束了,所以,我们从控制模块组里拖入`删除克隆体`代码块放入最下方,最终的代码如下:
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fv62xwd16gj20ei06s3z1.jpg)
如果重复执行完10次逼近阿达的操作后,仍然没有碰到阿达,我们也要对克隆体进行清理,把刚刚的代码组合一下,最终的效果,如下图:
![](https://ws1.sinaimg.cn/large/6bd2803cgy1fv630b1bcej20co0fmtai.jpg)
我们来运行一下,看看效果吧,
嗯,小怪物已经在舞台区横冲直撞起来,真是个生龙活虎的小怪物啊,哈哈哈,今天的学习就到这里吧,我们下节课继续,拜拜
* * * * *
* * * * *
**阿达老师-孩子身边的编程专家**
*完整课程请关注阿达老师,主页里有完整的课程目录和观看地址*
- 简介
- 第二章-星星猎手
- 2.1 玩玩游戏吧
- 2.2 角色到位!
- 2.3 猫咪动起来
- 2.4 海马动起来
- 2.5 海马和猫咪碰上啦
- 2.6 抓海星啦!
- 2.7 抓了几个海星?
- 2.8 更多的海马过来啦
- 第三章 寻找蛋糕(迷宫类游戏)
- 第一课 使用画笔绘制迷宫围墙
- 第二课(1) 键盘操作杰瑞移动
- 第二课(2) 解决杰瑞横穿围墙问题
- 第三课 甲虫狂潮
- 第五课 幽灵出没
- 第六课 收获金币
- 第四章 黑洞大作战
- 4.1 玩玩游戏吧&分析制作思路
- 4.2 level1级别的物体行动
- 4.3 黑洞转起来
- 4.4 吞噬物体&记录分数
- 4.5 黑洞变大
- 4.6 leve2 级别的物体
- 4.7 level2吞噬、level3吞噬
- 4.8 游戏做好啦!
- 第五章 灵药战争
- 5.1群魔乱舞
- 5.2灵药惊现
- 5.3闪转腾挪
- 5.4大功告成
- 第六章 跳跃的猴子
- 6.1 part1