• 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脚本要简单太多了。

  • 相关阅读:
    无向图的双连通分量
    以管理员身份运行软件cmd命令
    异或
    递推求解DAG最长路径长度及最长路径条数
    有向图转强连通图最少加边数
    Tarjan强连通分量(scc)
    uni封装request请求
    生命周期
    页面路由,以及传值
    WXS 模块
  • 原文地址:https://www.cnblogs.com/scratch3/p/11465412.html
Copyright © 2020-2023  润新知