我正在开发一个小 Flash 游戏,但我在同时播放不同的声音时遇到了麻烦。
例如,当玩家通过塔时,会发出锣声;当玩家跳跃时,会播放跳跃声音。这两个动作可以同时发生,如果是这种情况,两个声音应该一起播放(重叠)。
这些声音声明如下:
s_jumping = new Sound();
s_jumping.attachSound("s_jump");
s_noise2 = new Sound();
s_noise2.attachSound("s_gong");
然后(在需要时)用简单的s_jumping.start(0,1);
or调用它们s_noise2.start(0,1);
。
在我的代码中,我从未调用过 as_jumping.stop()
或s_noise2.stop()
.
这些声音单独播放时效果很好,但当一起播放时,它就不起作用了。当第二个声音响起时,第一个声音停止。
我认为使用new Sound()
不同的变量名意味着这些声音将单独存在。相反,它就像一种声音覆盖了另一种声音。
我究竟做错了什么?
(注意:我并不想在这里播放大量声音。在我的测试中,最多同时有 3 个声音。)
更新:经过进一步测试,如果我删除我拥有的一个背景声音,这些声音会正常播放。所以我似乎达到了某种极限。奇怪的是,目前我最多同时播放 3 或 4 个声音。从我读到的至少8个声音应该没问题!
(注意:使用 Flash CS4、actionscript 2,并为 Flash Player 8 导出。)