0
我使用各種帶有movieClip按鈕的影片剪輯 - 所有的MC都通過代碼插入,舞臺上沒有任何東西。 每次按鈕的eventListener被觸發時,我會調用下一個函數,我將下一個movieClip添加到行中,然後我想刪除對之前使用過的MovieClip的引用。如何重新啓動flash as3動畫片段的引用?
更具體我寫了一個益智遊戲,每當我進入遊戲,移動其中一個片段並按下MovieClip後退按鈕,下一次我進入相同的遊戲時,我仍然看到我離開它的片段我想要movieClip重新啓動到原來的位置。 我在這裏做錯了什麼? 不介意變數,這裏的重點是當我重新點擊每個函數時,我重新開始引用他們當我開始遊戲時的情況? 謝謝。
public function start1()
{
//start screen
addChild(first1);
first1.start(button name).addEventListener(MouseEvent.CLICK, start);
}
public function back1(even:MouseEvent)
{
removeChildAt(numChildren - 1); //want to remove who ever called back1
start1();
}
public function start(even:MouseEvent)
{
/choosing num of pieces
removeChildAt(numChildren - 1); //want to remove first1
addChild(level);
level.back.addEventListener(MouseEvent.CLICK, back1);
level.sixpieces.addEventListener(MouseEvent.CLICK, sixLevel);
}
//level choosing
public function sixLevel(even:MouseEvent)
{
removeChildAt(numChildren - 1); //want to remove level
addChild(clevel);
clevel.back.addEventListener(MouseEvent.CLICK, back1);
clevel.easy.addEventListener(MouseEvent.CLICK, function(){Slevel=1;six(even);});
clevel.med.addEventListener(MouseEvent.CLICK, function(){Slevel=2;six(even);});
clevel.hard.addEventListener(MouseEvent.CLICK, function(){Slevel=3;six(even);});
}
//game itself
public function six(even:MouseEvent)
{
num=6;
row1=0;
row2=1;
row3=2;
row4=3;
removeChildAt(numChildren - 1);
addChild(full1);
if(Slevel==1)
{
full1.time1.visible=false;
full1.full.visible=true;
full1.frame1.visible=false;
}
else
if(Slevel==2)
{
full1.full.visible=false;
myTimer = new Timer(1000,60);
}
else
if(Slevel==3)
{
full1.full.visible=false;
myTimer = new Timer(1000,30);
}
if(Slevel!=1)
{
Slevel=4;
}
full1.back.addEventListener(MouseEvent.CLICK, back1);
for(a=0;a<6;a++)
{
this.locarrs[3][a].addEventListener(MouseEvent.MOUSE_DOWN, Move);
this.locarrs[3][a].addEventListener(MouseEvent.MOUSE_UP, stopMove);
}
}
謝謝。 我如何銷燬movieClip?是否它會刪除我的原始數據,比如原始位置? 當你有六個部分的謎題時,保存位置是好的,但是當你100時,它開始變得混亂。 我正在尋找一個通用的解決方案,將涵蓋任何數量的作品。 – yishai 2012-07-14 12:05:19
是的,破壞對象清理它的位置。如果你想重用它們,你可以創建一個字典。 mc將是關鍵,並且是一個持有如下內容的對象:myDictionary [myMC] = {x:initXPos,y:initYPos}; – Drala 2012-07-14 14:22:35
謝謝。 反正有沒有寫下每件地點恢復原始MC數據? 這個特定的MC包括7名兒童,6拼圖和整個畫面每一個與它自己的實例名稱,在這種情況下,這將是比較容易記下每一塊的位置,但一旦我去了大量碎片的書寫位置下來會是種問題。我正在尋找恢復原來的位置,一旦按下後退按鈕,而不使用位置的數組 – yishai 2012-07-14 15:16:37