显示声波图形
这篇文章会介绍,在 Scratch 里侦测麦克风的声音响度,并透过画笔、函数、变数、重复、定位...等积木,在 Scratch 的舞台上显示麦克风所收到的声波图形。
角色设定
在角色编辑区,删除猫咪角色,使用绘画,建立一个“空白”的新角色 ( 参考:造型与绘图 )。
因为待会不会出现角色,所以直接使用全空的空白角色。
积木程序原理
点击空白角色,新增一个名为“y”的变数,和一个名为“list”的清单。
编辑当点击绿旗时的程序:
- 删除 list 清单所有项目 ( 清空 list 内容 )。
- 使用重复 480 次积木,将 480 个 0 加入 list ( 因为舞台宽度为 480 )。
- 使用重复无限次积木。
- 每次重复时,侦测麦克风声音响度,将声音响度加入 list ( 添加在最后一项 )。
- 每次重复时,删除 list 的第一个项目,使 list 保持 480 个项目。
从左侧清单,建立一个名为“draw”函数,勾选“执行完毕再更新画面”。
“执行完毕再更新画面”的功能,可以让函数内不需要等待的程序快速执行,加快画面运行速度。
编辑 draw 函数,让函数执行时,可以画出 list 的内容。
- 将角色定位到 (-240, 0) 画面最左边。
- 清除舞台所有笔迹、下笔。
- 将变数 y 设为 0,作为取得 list 项目使用。
- 使用重复 480 次积木,每次重复执行:
- 将 y 增加 1。
- 将 x 改变 1,往右移动。
- 将 y 座标移动到 list 对应的位置 ( 正值在上方,乘以 -1 变成负值在下方 )
- 停笔。
最后在点击绿旗的积木里,执行 draw 函数。
完成效果
完成后,点击绿旗,对着麦克风发出声音,就可以看见声波图形出现在舞台中。
范例解答
范例解答:显示声波图形
延伸练习
如果已经熟悉了显示声波图形的原理,还可以尝试更多好玩的作法:
微信扫码关注
抖音扫码关注