2013-02-25 138 views
-1

我一直在試圖解決這個問題,我只是不能得到什麼worng,即時通訊只是在我的「字符」之間添加hitTest到「糖果」。在開始工作時,然後出現錯誤#1009無法訪問空對象引用的屬性或方法。 在 「糖果」 線49As3 - 錯誤#1009:無法訪問屬性或方法的空對象引用

「糖果」 類

public class Candy extends MovieClip 
{ 
    public var leadingMover:Mover; 
    public var mainColliderCandy:Character; 
    public var hit:MovieClip; 
    public var hitParent:*; 
    public var candy:MovieClip; 


    public function Candy() 
    { 
     addEventListener(Event.ADDED_TO_STAGE, allLoaded); 
    } 

    private function allLoaded(event:Event):void 
    { 
      hitParent = event.currentTarget.parent; 
      candy = MovieClip(this.parent.getChildByName(this.name)); 
      hit = hitCandy_mc; 
      addEventListener(Event.ENTER_FRAME, update); 
    } 

    private function update(event:Event):void 
    { 
     if(leadingMover) 
     { 
      y +=leadingMover.speed; 
     } 
     else 
     { 
      leadingMover = Mover(parent.getChildByName("bg_mc")); 
     } 

     if(mainColliderCandy && candy) 
     { 
      if(hit.hitTestObject(mainColliderCandy)) 
      { 

      //mainColliderCandy.collidedWithCandy(this); 

       if(candy) 
       { 
        //mainColliderCandy = null; 
        this.parent.removeChild(candy); 
       } 
      removeEventListener(Event.ENTER_FRAME, update); 
      } 
     } 
     else 
     { 
      mainColliderCandy = Character(parent.getChildByName("character_mc")); 
     } 
    } 

} 

}

謝謝!

+0

請問您可以告訴我們,代碼中的第49行是什麼?什麼是hitCandy_mc? – 2013-02-25 19:18:09

+0

對不起49行是:\t \t \t \t \t \t this.parent.removeChild(candy); ... hitCandy_mc是主要movieClip中的movieClip。謝謝 – 2013-02-25 19:35:28

回答

0

如果你的錯誤是在行

this.parent.removeChild(candy); 

this.parentnull。我想你應該添加

candy.removeEventListener(Event.ENTER_FRAME, update); 

花括號內,在50行我真的不明白你的代碼是應該做的,但它可能是你想在行做什麼

removeEventListener(Event.ENTER_FRAME, update); 

但它取消了this上的聽衆而不是刪除的糖果。

相關問題