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