0
我正在开发一个Flash游戏叫青蛙,在我的声音代码似乎有点多的时刻,我想简化它,但不能看到。任何帮助,将不胜感激。
var musicSC:SoundChannel = new SoundChannel();
var musicST:SoundTransform = new SoundTransform();
var musicS:Sound = new Sound();
var musicURLR:URLRequest = new URLRequest('audio/music.mp3');
var flySC:SoundChannel = new SoundChannel();
var flyST:SoundTransform = new SoundTransform();
var flyS:Sound = new Sound();
var flyURLR:URLRequest = new URLRequest('audio/fly.mp3');
var frogSC:SoundChannel = new SoundChannel();
var frogST:SoundTransform = new SoundTransform();
var frogS:Sound = new Sound();
var frogURLR:URLRequest = new URLRequest('audio/frog.mp3');
function loopMusic():void {
musicSC = musicS.play();
musicSC.addEventListener(Event.SOUND_COMPLETE, loopMusic);
}
function loopFrog():void {
frogSC = frogS.play();
frogSC.addEventListener(Event.SOUND_COMPLETE, loopFrog);
}
function playFly():void {
flySC = flyS.play();
}
musicS.load(musicURLR);
flyS.load(flyURLR);
frogS.load(frogURLR);
loopMusic();
loopFrog();
谢谢你,我会用它,因为int.MAX_VALUE的是一个高得离谱的数字,我不应该需要比这更多。然而,纯粹为了将来的参考,是否没有更有效的方法来“循环无限”? – 2012-04-27 09:36:27
另外,我应该使用多个声道吗?我认为这将是能够单独操纵我的声音的最佳方法,这是正确的吗? – 2012-04-27 09:37:40
这是最简洁的方法,但它有一个缺点,那就是循环不是无缝的(Flash会在加载的MP3开头插入一个小的静音,尽管如果声音嵌入IDE )。如果您无法忍受这种差距,请在这里查看一些解决方案:http://forums.flixel.org/index.php?topic=2964.0。 – 2012-04-27 13:23:03