友情提示:380元/半年,儿童学编程,就上码丁实验室。
情景描述
小猫喵喵的生日到了。为了给它一个惊喜,朋友们为它精心设计了一个生日晚会。 生日之夜,“生日快乐”歌声奏响,可以通过传感器板上的滑杆调整音量、调整房间灯光亮度。 小猫在浓浓的生日氛围中与朋友欢度生日之夜。
创意构想
要完成本课范例,可以先添加舞台、角色,设置舞台和角色的初始状态;然后根据音乐的音量与滑杆参数值、房间亮度与滑杆值参数之间的关系,通过传感器上的滑杆调整生日晚会的音乐和灯光,滑杆值越大,音乐越响,灯光越亮。
要完成本课的创意构思,需要了解以下的新知识、使用以下的新指令:
滑杆
滑杆的实质是一个滑动变阻器,它可以通过滑动滑片调整电路中的电阻值的大小,从而改变电路的电流强度。
读取传感器板上滑杆的数值,取值范围是(0,1023)。
该指令的数值会随着滑片的左右移动呈线性变化,越往左移,数值越小;越往右移,数值越大。
脚本设计
第一步:
设置舞台背景与角色
1. 通过“背景库”对话框添加“派对”(party)图片作为舞台背景;再通过“角色库”对话框添加小猫(Cat1)、蛋糕(Cake)角色;调整这两个角色的大小、将它们拖动到舞台的合适位置。
2. 选中背景缩略图,单击“声音选项卡”中的按钮,在“声音库”对话框的“循环音乐”类别中,上传“生日音乐”(birthday)声音。
3. 隐藏舞台上除“滑杆”以外,其它无关的传感器数值。
第二步:
在背景中编写音乐调节脚本
在背景脚本中,有两段脚本代码与“生日快乐”音乐有关。
第一段代码如下图所示,用于播放音乐:
第二段代码用于实现通过滑杆调整音乐的音量大小,也就是通过滑动传感器板上的滑杆,可以改变音乐的音量大小。 要实现这个效果,可以在舞台脚本代码中,将“读取滑杆”指令组合到“音量设定”指令的参数框内,具体脚本代码如下图所示:
这个问题是由于滑杆的取值范围(0,1023)与音量的取值范围(0,100)不一致所造成的。 因此,先要将滑杆与音量的取值范围进行换算。为方便计算,可以将滑杆的最小值看做“0”、最大值看做“1000”: 当音量是“0”时,没有声音; 当音量是“50”时,用正常声音播放音乐; 当音量为“100”时,用最响的声音播放音乐。 具体如下图所示:
通过观察上图,可以很容易看出:滑杆是音量数值的 10 倍,也就是以下这个换算公式: 音量数值=滑杆数值×10 用滑杆控制音量的脚本代码也可以修改为如下图所示:
第三步:
在背景中编写亮度调节脚本
在本课的范例作品中,通过传感器板上的滑杆还可以改变背景图片的亮度。与用滑杆控制音量一样,用滑杆控制背景图片亮度,也需要先找到它们之间的转换公式。但与控制音量不一样的是:图片亮度的取值范围是(-100,100),是由一段负数、一段正数组成的,因此滑杆和亮度的数值很难直接转换。如下图所示:
可以先把亮度值转化为正数,也就是在原来数值的基础上增加 100,使亮度值最小是“0”,最大是“200”,如下图所示:
再观察上图,就可以得出滑杆是亮度数值的 5 倍,也就是如下所示的换算公式:
亮度数值=滑杆数值÷5-100
用传感器板上的滑杆控制背景图片亮度的脚本代码如下图所示:
第四步:
编写小猫和蛋糕角色脚本
小猫、蛋糕这两个角色也应该随着背景图片的亮度变化而变化,具体的代码与背景图片的代码类似,可以通过复制得到。 单击选中背景缩略图,将“脚本区”中的“亮度特效设定”代码分别拖动到“角色列表区”小猫角色缩略图及蛋糕角色缩略图上,就可以将这段代码复制到这两个角色中。 小猫与蛋糕脚本
这样小猫和蛋糕的亮度也能够跟着背景图片亮度的改变而改变。 程序示范:小猫生日快乐 (仅限PC端打开)
视频演示
▽