Day30 ( 高级 ) 显示声波图形

显示声波图形

教学原文参考:显示声波图形

这篇文章会介绍,在 Scratch 3 里侦测麦克风的声音响度,并透过画笔、函式、变数、重复、定位...等积木,在 Scratch 的舞台上显示麦克风所收到的声波图形。

相关文章参考:声音响度画笔函式变数重复定位

角色设定

在角色编辑区,删除猫咪角色,使用绘画,建立一个「空白」的新角色 ( 参考:造型与绘图 )。

因为待会不会出现角色,所以直接使用全空的空白角色。

Scratch 3 教学 - 显示声波图形

积木程序原理

点击空白角色,新增一个名为「y」的变数,和一个名为「list」的清单。

Scratch 3 教学 - 显示声波图形

编辑当点击绿旗时的程序:

  • 删除 list 清单所有项目 ( 清空 list 内容 )。
  • 使用重复 480 次积木,将 480 个 0 加入 list ( 因为舞台宽度为 480 )。
  • 使用重复无限次积木。
  • 每次重复时,侦测麦克风声音响度,将声音响度加入 list ( 添加在最後一项 )
  • 每次重复时,删除 list 的第一个项目,使 list 保持 480 个项目

Scratch 3 教学 - 显示声波图形

从左侧清单,建立一个名为「draw」函式,勾选「执行完毕再更新画面」。

「执行完毕再更新画面」的功能,可以让函式内不需要等待的程序快速执行,加快画面运行速度。

Scratch 3 教学 - 显示声波图形

编辑 draw 函式,让函式执行时,可以画出 list 的内容。

  • 将角色定位到 (-240, 0) 画面最左边
  • 清除舞台所有笔迹、下笔。
  • 将变数 y 设为 0,作为取得 list 项目使用。
  • 使用重复 480 次积木,每次重复执行:
    • 将 y 增加 1
    • 将 x 改变 1,往右移动
    • 将 y 座标移动到 list 对应的位置 ( 正值在上方,乘以 -1 变成负值在下方 )
  • 停笔。

Scratch 3 教学 - 显示声波图形

最後在点击绿旗的积木里,执行 draw 函式。

Scratch 3 教学 - 显示声波图形

完成效果

完成後,点击绿旗,对着麦克风发出声音,就可以看见声波图形出现在舞台中。

Scratch 3 教学 - 显示声波图形

范例解答

范例解答:显示声波图形

延伸练习

如果已经熟悉了显示声波图形的原理,还可以尝试更多好玩的作法:

  • 加大声波图形的 y 轴高度 ( 解答 )

  • 增加声波颜色,让音量从小到大的颜色为黑、绿、黄、红 ( 解答 )

    Scratch 3 教学 - 显示声波图形

关於我

大家好,我是 OXXO,是个即将迈入中年的斜杠青年,如果对我有点兴趣(笑,可以与我联系,一起来做点有玩又有创意的东西吧!


<<:  Day 25:专案06 - 股市趋势图02 | 整年股市资料、Postman

>>:  CSS微动画 - 弹窗也要很动感,动画不能只做一半

产业自动化资安标准IEC 62443

全球数位转型趋势在Covid-19(俗称:武汉肺炎)攻势下,企业或机构在国家防疫政策前,被动式的面对...

Prometheus 与 Spring boot

说到 Prometheus 不得提到监控,Prometheus能帮助我们指标数据采集、指标数据储存、...

Day-30 完赛心得

经过了漫长的30天,终於完赛了,好险暑假有先屯个15篇,要不应该是没办法完赛了,由衷地佩服那些真的每...

MYSQL IMPORT 乱码 ON OSX,LINUX

IMPORT csv LOAD DATA INFILE 'test.csv' INTO TABLE ...

Day10 - 物理模拟篇 - 弹跳球世界I - 成为Canvas Ninja ~ 理解2D渲染的精髓

作为物理模拟开场的第一进程,当然就要来讲一下最经典的物理模拟案例:『弹跳球』~ 其实很多国外的Can...