接上一篇,
Scratch编程--飞翔的小鸟(一)
今天主要解决飞翔的小鸟的计分功能,以及最后游戏结束的动画效果。
计分功能:
计分功能是这个游戏最有挑战的难点,首先我们梳理一下上篇解决的问题,我们已经知道,整个游戏的运动效果是柱子和草地一直在向左移动,小鸟只是在原地上下运动,理解了这一点,对于我们做计分功能是非常有帮助。
既然小鸟的Y坐标是固定不变的,而小鸟每穿过一个柱子就要积一分,有的人可能会这样想,小鸟的Y坐标不变,而柱子的Y坐标一直在变,所以当柱子的Y坐标和小鸟的Y坐标一样的时候,不是就可以积一分了吗?这听起来是一个好办法,但是,我这里的柱子都是克隆体,而且也没有给柱子编号,如果这样做,会非常的繁琐,不过大家可以去试一下。
我这里给大家提供的方法是非常简单的,如图:
大家看到小鸟的上方固定了一个小方块,而且是在小鸟向左的位置,因为小鸟要完全穿过柱子才算一分,这是新建的一个角色,当这个小方块与柱子接触时,是不是就可以积一分了。
这里大家要注意一个细节,就是这个小方块,不能直接隐藏,如果隐藏,就不能触发与柱子接触的效果,这里就需要用到虚像的效果,简单的理解让它透明化,但是它实际是存在的。而且这里的等待碰到柱子不成立,是为了防止经过一根柱子累计计分,因为重复执行是非常快的,不加这个等待,在小鸟经过一根柱子时,会重复执行很多次。
然后在游戏控制角色里,通过接收计分广播,让分数变量加1即可。
卡通分数效果:
到这里,这个游戏的功能都完成了,但是为了完美复刻飞翔小鸟这个游戏,我们还需要把分数显示的更卡通,所以我们这里又加了两个角色,个位分数和十位分数,这两个角色里分别都有10个造型,从0-9每个数字的卡通图案,每次更新分数的时候,只需要切换到下一个造型即可。
更新个位数时,当前分数除以10的余数,再加1,就是下一个分数数字
更新十位数,也很好理解,比如19,除以10就是1.9,向下取整就是1,然后再加1,十位数变成2。
接下来是最后一个游戏结束动画效果:
添加了三个角色
1、game over 卡通字
2、计分板
3、奖牌
三个角色的程序逻辑是一样,只是坐标和层级不一样,这里就不一一列出来。
在小鸟死亡时,加一个游戏结束的广播,然后通过接收该广播,让角色渐变式的显示出来,有一个动画效果。
程序中还有很多细节问题,没有一一说明,需要大家认真仔细的琢磨。
以上就完成了飞翔的小鸟的程序。
关注“一起玩转少儿编程”公众号回复“飞翔的小鸟”,获取完整程序和所有素材。
如有疑问,请留言,一起探讨!程序中素材均为软件自带。下一更为打砖块游戏。长按二维码关注
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved