10分钟用scratch写一个大鱼吃小鱼的小游戏

第一次给张江小朋友教Scratch课程之前,还在担心一些概念能不能向小朋友解释清楚,可上完课发现,我严重低估了小朋友的聪明程度,发现现在的孩子相比较自己8、9岁的时候,简直聪明太多倍了。

所以总结了半天,想着干脆来个有分量一点的项目,写一个Scratch版的大鱼吃小鱼游戏

10分钟用scratch写一个大鱼吃小鱼的小游戏

游戏完成界面如上图,其中蓝色的小鱼受我们方向键的控制左右上下移动,食物链顺序是大鲨鱼 -> 主角(蓝色小鲨鱼)-> 其他小鱼。其他小鱼每隔10秒在屏幕随机位置生成,然后一直横向移动,碰到边界就反弹。大鲨鱼每30秒随机产生在屏幕左侧,游到右侧消失。

蓝色鲨鱼吃到小鱼时,小鱼消失,同时自己切换到一个张开嘴的动作上,然后切换回来,同时身体变大一点,碰到大鲨鱼则游戏结束。

在完成复杂项目的时候,最重要的是将事情分解成小目标,比如先完成小鱼的随机生成,再赋予其游动的逻辑,如法炮制大鲨鱼,然后再加上碰撞逻辑的处理。

首先看小鱼的生成

10分钟用scratch写一个大鱼吃小鱼的小游戏

这里重复100次,每隔10秒就生成一条小鱼。而新生成的小鱼,拥有这样的逻辑。

10分钟用scratch写一个大鱼吃小鱼的小游戏

这里面的代码,在1-4间取随机数,然后切换到相应造型,是因为切换不同样子的小鱼。

然后调整大小到50%,设置水平运动方式,并且设置如果碰到主角,则发送消息 hit.

同理大鲨鱼的逻辑也是类似。

10分钟用scratch写一个大鱼吃小鱼的小游戏

只不过运动方式是从屏幕左侧开始移动,并且如果碰到主角,则发送“gameover”消息。

而主角的逻辑处理中就不一样了,首先要接收处理前面两种碰撞事件

10分钟用scratch写一个大鱼吃小鱼的小游戏

上面定义了,碰到小鱼时怎样切换到对应的张开嘴的动作,和碰到大鲨鱼时结束游戏。

另外再加上主角的方向键按键处理。

10分钟用scratch写一个大鱼吃小鱼的小游戏

这样,一个scratch版本的大鱼吃小鱼游戏就完成了,想想看确实挺简洁的,比flash脚本要简单太多了。

上一篇:处理:“ORA-00257: archiver error. Connect internal only, until freed”的错误问题


下一篇:不用任何第三方,写一个RTMP直播推流器