Kitten编程猫 里说 XXX 直到结束 这个积木,在语音结束之前,不会执行下一块的对话积木。
如果此时收到其他事件,比如上图的“转盘停止”的事件,那么“转盘停止” 事件处理函数里的对话积木,会先于“说 XXX 直到结束” 下一块的对话积木而执行,而这并不是我们想要的效果。
持续播放的背景音乐
根据Kitten编程猫的帮助文档,如果想给作品添加持续的背景音乐,我们可以通过重复执行和播放音乐的积木来实现。需要注意的是,我们需要用到的是【播放声音直到结束】积木,而不是【播放声音】积木。
这两块声音积木之间的使用差异:
- 播放声音: 播放所选音乐,同时运行下一步积木
- 播放声音直到结束:播放完所选音乐后,才执行下一步积木
所以当我们将【播放声音】积木放入【重复执行】框中时,将会有无数个所选音乐随着时间同时开始播放,产生奇怪的噪音,在作品需要持续播放的背景音乐时,记得要选择【播放声音直到结束】积木。
假设我进入游戏之后,在片头动画和游戏演示页面里,播放背景音乐A,然后点击“游戏开始”时,播放背景音乐B.
因为Kitten编程猫里是没有停止正在播放的音乐的积木,而只有停止所有音乐播放的积木:
因此正确的做法如下图:
- 在切换音乐之前,首先停止所有音乐的播放;
- 使用播放声音 XXX 直至结束的积木,并且包裹在重复执行积木里执行。
- 设置一个“停止播放音乐”的标志位变量,如果该变量为1,退出“重复执行” 积木。
当需要切换游戏音乐时,更改对应音乐所属的标志位变量的值:
这样,在执行“停止所有声音” 积木时,在“重复执行” 积木里执行的 “播放 XX 声音直到结束” 就会返回,然后进入 IF 积木,此时即可有机会退出“重复执行” 积木,从而切换到其他音乐的播放。
更多Jerry的原创文章,尽在:"汪子熙":