顯然你沒有加載另一個MC_1
,你正在添加相同的實例,引用MC_1
。 「加載」影片剪輯不僅僅是添加,它也是實例化,要做到這一點,您可以撥打MC_1 = new Something();
。因此,爲了添加一個全新的在庫中具有原型的影片剪輯,您必須通過放置MC_1 = new Something()
來重新實例化您使用的變量,其中Something
是庫中影片剪輯的名稱。
你也可以做一個不同的方法:你給原型函數一個會對Event.REMOVED_FROM_STAGE
事件作出反應的函數,這將使MC中的所有按鈕將它們的狀態改變爲默認狀態。就像這樣:
public class Something extends MovieClip {
// any other functionality is here
public function Something() {
// ...
addEventListener(Event.REMOVED_FROM_STAGE,resetMC);
}
private function resetMC(e:Event):void {
button_1.gotoAndStop(1); // make sure to place proper name of buttons
... // place one gotoAndStop() call per button you want to switch back
}
}
然後,一旦你做removeChild(MC_1)
,該代碼踢,使所有的MC_1
的按鈕(當然,這是在resetMC()
函數引用的所有)來顯示相應的幀(在這裏,button_1
將顯示第一幀)。這種方法通常會更好,因爲您不會在存儲器中出現新實例,因此您可以保留對當前MC_1
的控制權。
謝謝!我用第二種方法!它工作正常;) – Loralon