这一节我们继续来完成鲨鱼未完成的第二部分——鲨鱼吃东西。
鲨鱼吃的东西有两类,一类是苹果,一类是螃蟹。吃到不同的食物有不同的效果。
1 吃苹果
(1)添加吃苹果声音
我们先做吃苹果的部分。鲨鱼吃到苹果发出吃苹果的声音。
我们到声音面板中找到“chomp”这个效果音添加进来,并将声音名称修改为“吃苹果的声音”
接着我们要用到声音分区中,播放声音的积木,选择吃苹果的声音
(2)吃到苹果播放声音
接着就要完成鲨鱼吃到苹果发出声音的部分了,我猜大家可能想到用下面这段代码,去重复侦测鲨鱼有没有碰到苹果,如果碰到就播放吃苹果的声音。
这个想法在逻辑上是没有问题的,但大家运行一下就会发现没有实现播放声音的效果。
这是为什么呢?
大家还记得在前面一个章节《猫捉老鼠》的游戏吗?猫抓到老鼠,并发出“喵”的一声,老鼠消失。
这里面存在一个时间顺序不明的情况,同样在我们这个游戏中,鲨鱼吃到苹果和苹果消失执行的时间顺序也是不清楚的。所以我们需要用到广播。
到事件中,新建一条广播“苹果被吃掉了”,选中苹果,让苹果侦测到鲨鱼后发出这条广播,再删除克隆体。
接着回到鲨鱼的脚本区,让鲨鱼接收到“苹果被吃掉了”这条广播后,发出吃苹果的声音
2 吃螃蟹
(1)发出吃螃蟹的声音
螃蟹要比苹果硬很多,所以我们需要添加一个新的声音作为鲨鱼咬到螃蟹的声音。
我们到声音面板中找到“bite”这个效果音添加进来,并将声音名称修改为“吃螃蟹的声音”
接着我们要用到声音分区中,播放声音的积木,选择吃苹果的声音
(2)吃到螃蟹播放声音
接着要完成鲨鱼吃到螃蟹发出声音的部分了,同样的,这里也需要使用广播。
到事件中,新建一条广播“螃蟹被吃掉了”,选中螃蟹,让螃蟹侦测到鲨鱼后发出这条广播,再删除克隆体。
接着回到鲨鱼的脚本区,让鲨鱼接收到“螃蟹被吃掉了”这条广播后,发出吃螃蟹的声音
(3)吃到螃蟹显示受伤效果
到目前为止,我们已经完成了声音的特效。吃到苹果和螃蟹发出相应吃东西的声音。
但不仅如此,我们还要鲨鱼吃到螃蟹进入受伤状态,闪烁红色三次。
我们直接来看下面这段代码:
当鲨鱼接收到螃蟹被吃掉的广播后,重复3次以下操作:
(1)换成受伤的C造型
(2)虚像设为36:可将鲨鱼设置为半透明的状态
(3)颜色设置为75:可将鲨鱼设置为红色
(4)接着等0.1秒清除(2)(3)步的图形效果:可将鲨鱼恢复到正常状态
这样既可使鲨鱼在受伤状态和正常状态之间切换3次,实现红色闪烁的效果。
同学们可以自己调整积木中的参数,观察运行效果有何变化。