2013-12-22 85 views
0

我遇到了一些問題。removeChild在其他類中添加

我試圖刪除一個在另一個類中調用的孩子。

我已經在我的引擎類稱爲「viseur」這樣的:現在

private var viseur:Viseur; 
viseur = new Viseur(stage); 
stage.addChild(viseur); 

,在我Puzzle.as類我想removeChild(viseur)當我的拼圖完成。 我該怎麼做?

我已經試過:

Engine.viseur.stage.removeChild(viseur); 

但它不工作...(和任何Engine.viseur.removeChild(viseur)

有誰知道我能做到這一點?

非常感謝你,

回答

0

有在這裏打球兩個問題:

  1. 呼叫Engine.viseur.stage.removeChild(viseur);不起作用,因爲變量viseur是私有的引擎類。如果您希望其他課程可以訪問,則需要使其成爲public
  2. 但是,另一個問題是,viseur變量也不是一個靜態變量。因此,即使您將該變量修復爲public,但仍然不正確地訪問它,Engine.viseur.stage.removeChild(viseur);。如果你想通過另一個類來訪問它,你可以1)將Engine類的實例的引用傳遞給其他類,以便它可以訪問viseur變量,或者2)使viseur變量成爲一個靜態變量,但記住如果你這樣做,這意味着你只能有一個Viseur對象名爲viseur
+0

謝謝。沒有更多的錯誤,但我的孩子「viseur」沒有被刪除.... – user2421975

+0

你知道爲什麼嗎? – user2421975

+0

您是否有創建visuer對象的類的多個實例?您是否嘗試過調試應用程序以查看removeChild調用的返回對象是否報告它成功? –