我有一個帶場景選擇菜單的動畫集合。我已經把一個音樂按鈕放在一起,工作正常。我使用布爾值來確定每個場景上的音樂是打開還是關閉。 問題是,布爾的聲明位於菜單場景的第一幀,每次動畫結束時,都會返回到菜單場景的第一幀,並且聲明會覆蓋布爾值的狀態。因此,如果布爾值稍後在菜單或其中一個動畫中更改,則每次菜單重播時,布爾值都會恢復爲其聲明的值。actionscript防止重複幀中的變量重新定義
有沒有一種方法來防止重複幀中的變量重新聲明,或者是一個命令來計算幀的播放次數,我可以用來跳過變量聲明?使用
代碼:
//Stop other scene sounds
SoundMixer.stopAll();
//music variables
var mutemusic_bln:Boolean = new Boolean();
var menubackgroundmusic:Sound = new menu_mp3();
var music_cnl:SoundChannel = new SoundChannel();
var music_trn:SoundTransform = new SoundTransform();
//starting music
if (mutemusic_bln){
music_cnl= menubackgroundmusic.play();
music_trn.volume = 1;
music_cnl.soundTransform = music_trn
}else{
music_cnl= menubackgroundmusic.play();
music_trn.volume = 0;
music_cnl.soundTransform = music_trn
}
我設法得到它的菜單現場之前創建一個空的場景,只有一個空白腳本框架正常工作。我在那裏替換了布爾型聲明,並且由於動畫返回到菜單而不是菜單之前的場景,因此它不會覆蓋該值。雖然我仍然會喜歡更體面或更專業的解決方案。
這正是我所期待的。我按照你的說法做了,它很有效。不幸的是,我大多使用flash進行動畫製作,而且我對actionscript 3或編程這個問題比較陌生,所以我認爲我不會很快使用類。 – user248979
我很高興它解決了! :) –