2015-02-24 62 views
0

當我刪除頁面並添加另一個頁面時,它顯示此錯誤。它爲什麼這樣做?它說,錯誤是位於行「parent.removeChild(主頁)。錯誤#2025:提供的DisplayObject必須是調用者的子代AS3

function onPlayButtonsClick(event:MouseEvent):void 
    { 
     //var level1Page = new Level1Page; 
     parent.addChild(level1Page); 
     parent.removeChild(homePage); 
    } 

private function onKeyDown(event: KeyboardEvent): void 
    { 
     if (event.keyCode == Keyboard.A) 
     { 
      vx = -5; 
      side = true; 
     } 
     else if (event.keyCode == Keyboard.D) 
     { 
      vx = 5; 
      side = true; 
     } 
     else if (event.keyCode == Keyboard.W) 
     { 
      vy = -5; 
      up = true; 
     } 
     else if (event.keyCode == Keyboard.S) 
     { 
      vy = 5; 
      up = true; 
     } 
    } 

private function onKeyUp(event: KeyboardEvent): void 
    { 
     if (event.keyCode == Keyboard.A || event.keyCode == Keyboard.D) 
     { 
      vx = 0; 
      side = false; 
     } 
     else if (event.keyCode == Keyboard.S || event.keyCode == Keyboard.W) 
     { 
      vy = 0; 
      up = false; 
     } 
    } 

這是我的level1Page鍵盤事件的代碼

回答

0

因爲你homePage對象不是你得到了#2025錯誤提到parent,避免此類問題的孩子,儘量總是這樣做:

yourObject.parent.removeChild(yourObject); 

你的情況,這將是:

homePage.parent.removeChild(homePage); 

你可以看看我對這個問題的回答: Remove Child and AS3 2025 Error

希望能有所幫助。

+0

這很奇怪。如果我這樣做,我的遊戲不會得到錯誤,但是當添加等級1時,我的角色不會移動。但是如果我按照自己的方式去做,我仍然會得到這個錯誤,但我可以這樣移動我的角色......你知道什麼導致我的角色凍結? – Crook 2015-02-25 01:14:04

+0

@Crook你在'homePage'中有一些代碼嗎?如果是的話,你能否展示它,否則,你能展示你用來移動角色的代碼嗎? – akmozo 2015-02-25 07:44:31

+0

公共功能的onkeydown(事件:的KeyboardEvent):無效 \t \t { \t \t \t如果(event.keyCode == Keyboard.A) \t \t \t { \t \t \t \t _vx = -5; \t \t \t} \t \t \t否則如果(event.keyCode == Keyboard.D) \t \t \t { \t \t \t \t _vx = 5; \t \t \t} \t \t \t否則如果(event.keyCode == Keyboard.W) \t \t \t { \t \t \t \t _vy = -5; \t \t \t} \t \t \t否則如果(event.keyCode == Keyboard.S) \t \t \t { \t \t \t \t _vy = 5; \t \t \t} \t \t} – Crook 2015-02-25 09:43:55

相關問題