大声公 ( 比赛谁的气长 )
这篇教学会实作一个透过“麦克风”才能玩的小游戏,游戏开始后要对着麦克风持续发声,比赛看看谁发声持续的时间最久 ( 谁的气最长 )。
快速导览:
大声公比赛怎么玩?
“大声公比赛”是常见的园游会或团康游戏,主要在比赛一个人的“气”有多长,玩法是“对着麦克风不断发声,直到声音结束为止,然后计算整个发声过程的时间”,最后时间最长的人就赢得大声公比赛。
绘制角色造型
第一个角色不用绘制,单纯使用原本猫咪 cat 的角色,但需要绘制第二个“circle”角色,目的在于显示现在音量的大小,使用“绘画”方式新增角色,利用“圆形”工具绘制一个圆形,并对齐画布中心点。
完成后将 cat 和 circle 角色,如下图一般,摆放在舞台中心。
积木程序原理 ( cat )
点击猫咪“cat”角色,点击绿旗时除了定位,也让猫咪提示用户要点击猫咪才会开始,点击猫咪后,运用“等待”和“重复直到”的积木,就能做到“当音量超过 20 时就开始游戏”的效果,同时,在重复开始时发送 go 的广播消息,在重复结束后发送 stop 的广播消息,就能透过广播控制另外一个角色。
完成后可以进行测试,这时会发现秒数小数点后方多了许多位数,这是因为 Scratch 的底层计算时,因为程序语言产生的误差 ( 许多程序语言的小数点位数,都是使用非常多位数,但因为四舍五入才看不到 )。
为了避免这种状况,可以先将数值“乘以十”,然后“四舍五入”,接着再“除以十”,就可以得到漂亮的一位数小数点数值。
下图是使用麦克风的测试结果,可以看到秒数后方已经不会有奇怪的位数了。
积木程序原理 ( circle )
点击圆形“circle”角色,这个角色负责显示现在音量的状态,当音量越大,圆形就会越大,同时透明度也会越高,点击绿旗时,设定圆形的尺寸和位置,以及设定幻影为 100 ( 全透明 ),收到 stop 广播信号时恢复全透明,并停止角色中其他的重复循环,收到 go 广播信号时,使用重复循环侦测声音响度,并根据声音响度改变尺寸与透明度。
完成效果
所有角色的程序都完成后,点击绿旗,点击猫咪后开始发声,就能开始比赛看看谁的气最长。
范例解答
范例解答:大声公比赛 ( 比赛谁的气最长 )
微信扫码关注
抖音扫码关注