Re: [問題] removechild

看板Flash作者 (星之影)時間15年前 (2010/11/18 09:23), 編輯推噓2(202)
留言4則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《iii125 (小 i)》之銘言: : 我現在是在做一個記憶力配對的遊戲 : 我遊戲製作的步驟是 : 我用for迴圈每次亂數addchild一個影片片段裡的物件 : 然後過幾秒後再將這些物件removeChild : 不過我現在遇到的問題是 : 每次只能remove掉我亂數選出來的最後一個物件 : 前面addchild的物件消不掉 : 我之前有用過removeChildAt方式成功過 : 只不過當我放到網路上試的時候 : 會因為載入速度不一而移除到其它的物件 : 所以才想用removeChild的方式 : 而我想問是不是因為addChild順序會影響物件的變數名稱 : 還是有其他原因? : 請板上大大指點 : 原始檔=>http://tinyurl.com/33np5yy 看完原始檔很明顯你是搞錯了 as3 的命名原則.... 你是試看 trace(f.name) 你會發現 name 都是 instanceX (X是一個數字) 這表示元件的名稱叫做 instanceX 不然 stage 上面就會有一堆叫做 f 的元件了 小修改一下應該就可以了 用 第一格當作說明 你在 frame1 L=28 的地方有一個 f.name='f'+String(j); 這樣就會命名成為 f0, f1 f2 ..... 下面 removeChild 改寫成為 for (var j2:int = j2<listlength;j++) { removeChild(stage.getChildByName("f"+String(j2))); } 這樣三個你亂數放上來的東西應該就可以順利拿掉了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.118.160

11/18 13:29, , 1F
感謝S大的回覆!!! 不過我是把stage拿掉才成功
11/18 13:29, 1F

11/18 15:10, , 2F
抱歉 我寫回文的時候沒測試...
11/18 15:10, 2F

11/18 15:10, , 3F
不過沒有需要 stage 應該是因為你前面也都沒放
11/18 15:10, 3F

11/19 01:54, , 4F
原來如此! 感謝S大詳細的解說!
11/19 01:54, 4F
文章代碼(AID): #1Cv80Nge (Flash)
討論串 (同標題文章)
本文引述了以下文章的的內容:
問題
2
3
完整討論串 (本文為第 2 之 2 篇):
問題
2
3
文章代碼(AID): #1Cv80Nge (Flash)