合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
\* \* \* \* \* \* \* \* \* \* ## 游戏介绍 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) 我们来运行一下,看看效果吧, 嗯,小怪物已经在舞台区横冲直撞起来,真是个生龙活虎的小怪物啊,哈哈哈,今天的学习就到这里吧,我们下节课继续,拜拜 \* \* \* \* \* \* \* \* \* \* \*\*阿达老师-孩子身边的编程专家\*\* \*完整课程请关注阿达老师,主页里有完整的课程目录和观看地址\*