友情提示:视频教程观看时请手动设置清晰度。
目的:完成一个贪吃蛇的小游戏,了解角色图片制作、克隆、运动方向、碰到障碍物的处理。
游戏说明:游戏开始时,蛇不停的往前移动,身体逐渐变长。玩家可以通过上下左右四个按键改变蛇运动方向(向上、向下、向左和向右)。蝙蝠是蛇要吃掉的小动物,可能随机出现在屏幕任何一个地方,挥动翅膀,但保持位置不动(当然也可以让蝙蝠飞起来)。当蛇碰到蝙蝠时,蝙蝠消失,即蛇将蝙蝠吃掉,获取得分;蛇吃掉蝙蝠以后,其中的一节身体变成蝙蝠的颜色。经过几秒后,(另外一只)蝙蝠重新出现在另外一个位置。游戏继续。
这个游戏属于“炒冷饭”的范畴,因为很多小游戏的基本实现指令和方法都是类似的。
适合人群:一二年级学生。在家长或老师指导下完成。
用时:2-3小时。
一、角色设置
设置两个角色。一个是蛇,分成蛇头和蛇身。蛇的身体由一块一块组成。
蝙蝠:蛇的食物,可以挥动翅膀(,也可以飞翔移动)。
微信订阅号:ABO_CRM
二、蛇头的制作
这是Scratch标准角色库中提供的球,有不同颜色的球。我们以这个球为基础,制作蛇头。
蛇头造型1:在角色中,使用“变形”,出现出现几个可以拉动的小点点。拉动圆形右边的点,最后形成尖尖的蛇头形状。
蛇总要有眼睛,因此使用用粗线点两下,或者用画圆的功能,画两个圆,填充红色。这是蛇的造型1.
蛇头造型2:因为蛇在上下左右移动时,要保持头的方向一致,因此复制一个图,然后上下翻转,形成另外一个蛇头,造型2.
三、让蛇头运动起来
因为一个多月没有做运动类的程序了,今天已经比较生疏。为了让蛇头前后左右移动,显示使用了右边的X或Y坐标增加一定位置的循环指令。
后来改成左边的运动和方向。
重复循环,每次都移动1步。默认的时候,蛇头是往右边移动的。如果按了上箭头,面向0度,即往上走。如果按下箭头,面向180度方向,即往下走。
测试。
但这时候我们会发现,蛇头的方向是不对的,因此,下移的时候,需要将蛇头的造型切换为2. 除非蛇头上下对称,否则就有这个问题。
用类似的方法,处理左右移动。
现在,这个蛇头可以顺畅的动起来了。
四、蛇身体的制作-让蛇长出身体
也不能只有这一个蛇头啊。怎么做出蛇的身体呢?那就一节一节克隆吧,没格一段时间,克隆出一节“蛇身体”来,然后间隙小一些,看上去,就成一条连续的蛇了。
这里再次使用一遍“开始”指令,蛇头每隔一秒,就克隆一个自己。注意克隆等待时间和运动步数,蛇的身体要保持连续。
试玩一下。
随着蛇的移动,蛇真的变长了, 长出来了。但是有个问题,有很多蛇头,因为我们是克隆了蛇头。Scratch允许我们克隆300份,因此可以一直玩,到了300份蛇头,就不会继续克隆了。
到这一步,小孩的兴致已经上来了,一定要把满屏都擦成蛇头为止。小妹妹也上来玩了。
五、蛇身体的制作-一节一节的蛇身
为了解决复制出来的都是蛇头的问题,我们需要一节蛇的身体,就是没有眼睛的头。
这个很简单,只需要复制出另外一个造型,把蛇的眼睛去掉即可。造型3:一节蛇的身体。
六、蛇头变成蛇身
蛇头复制出来以后,克隆体启动时,需要将造型切换成3,即将蛇头变成蛇的身体。如果不变换,那就会出来很多蛇头。
再玩一下。
这时候就只有一个蛇头了。还是可以克隆300份。KK想把整屏都盖上蛇,到后来就不会继续克隆了。这也体会了只允许300份克隆体的限制。在实际应用中,要将不需要的克隆体删除,而不能仅做简单的隐藏操作。
克隆体启动后,等待8秒,就删除本克隆体。这样蛇的身体就不会“无限”长了。
七、蝙蝠角色-随机出现
本来贪吃蛇的游戏是让蛇吃掉球或豆子的,结果说要吃掉蝙蝠。就加了一个蝙蝠角色。
首先让蝙蝠挥动翅膀,这个只要不停更改造型就可以了。
然后,让蝙蝠出现在屏幕的随机位置上。 X和Y都使用一个随机数,当然不能太靠近边缘。
八、蛇吃蝙蝠:侦测碰到某种颜色
这是关键的一步。我们使用了碰到某种颜色,蝙蝠则隐藏。选择“碰到颜色”以后,可以在屏幕中点击蛇的眼睛, 这样能够获取的红色。
当碰到红色的时候,蝙蝠隐藏。蛇将蝙蝠吃掉了。
九、蛇吃蝙蝠:游戏得分
吃掉蝙蝠以后,分数增加。因此设置一个全局变量。开始时,将分数设置为零。蝙蝠被蛇吃掉后,分数增加。
十、蛇吃蝙蝠:蝙蝠在蛇的肚子里
吃掉蝙蝠以后,蛇的肚子有一节会变成黑色,甚至那一节还可以变大一点。这个实现稍微复杂一点。
首先制作一节黑色的蛇的身体,还是蛇的角色,造型2.
其次,设置一个黑色的全局变量。默认是0.如果被吃掉了,设置为1.
在克隆体启动时,读取合格黑色的全局变量标识,如果是0,则为普通蛇身,造型为2.如果是1,即刚吃掉一只蝙蝠,需要变成黑色,造型3。切换成造型3以后,需要将黑色的变量设置为0,否则后面就全是黑色的了。
总结测试:
最后效果图这个图。
还可以改进,例如多条蛇、多只蝙蝠,蝙蝠会飞翔,不能碰到边缘等。蛇的身体,在转弯的时候,覆盖的还不大好。
少儿编程-Scratch
· 少儿编程Scratch第14讲:链表和冒泡排序算法(2018/9)
· 少儿编程Scratch第13讲:九九乘法问答(2018/7)
· 少儿编程Scratch第12讲:制作时钟 (2018/6)
· 少儿编程Scratch第11讲:植物大战僵尸(1) (2018/5)
· 少儿编程Scratch第十讲:钢琴演奏入门(2018/4)
· 少儿编程Scratch第九讲:小猫跳跳-较完整的跳跃运动(2018/4)
· 少儿编程Scratch第八讲:变量和太空大战(2018/4)
· 少儿编程Scratch第七讲:字母雨打字练习(2018/3)
· 少儿编程Scratch第六讲:抽奖游戏之造型、随机和广播(2018/2)
· 少儿编程Scratch第五讲:练习一坐标和移动(2018/1)
· 少儿编程Scratch第四讲:射击游戏的制作,克隆的奥秘(2018.01)
· 少儿编程Scratch第三讲:宇宙大战.枪战游戏(2018.01)
· 少儿编程Scratch第二讲:奇妙的接球小游戏(2018.01)
· Scratch第一讲:Scratch完美的初体验(2018.01)
转自公众号:
艾博特