2012-04-06 87 views
-1

TypeError:錯誤#1009:無法訪問空對象引用的屬性或方法。 at src ::遊戲/ onClick()'錯誤#1009:無法訪問空對象引用的屬性或方法。'在Flash CS5中?

這是完整的錯誤^,但它不會給我錯誤的時間軸,但輸出,當玩Flash遊戲。代碼如下:http://pastebin.com/FnjWCQJ8,錯誤代碼爲35或49.

謝謝。

+0

blue1,blue2和blue3是我與Game.as(編碼文件被調用)鏈接的符號的實例名稱,當然它們是以這種方式定義的? – Adzi 2012-04-06 16:55:30

+0

據我所知,你不能從類內部訪問類似的實例。要訪問它,你必須將對象的引用傳遞給類。或者將您的課程添加到舞臺並通過「stage」訪問 – 2012-04-06 17:03:13

+0

那麼,如何將對象的引用傳遞給課程? (我很抱歉,我是CS5的業餘愛好者)。謝謝! – Adzi 2012-04-06 17:08:34

回答

0

其因藍天,藍2,和blue3未在任何地方定義。

private function onClick(m:MouseEvent):void{ 
    blue1.startme = true; 
    blue2.startme = true; 
    blue3.startme = true; 
} 
0

可能是第31行 - 您在遊戲構造函數中的舞臺實例。你的MovieClip可能還沒有在舞臺上。使用ADDED_TO_STAGE事件偵聽器,然後添加偵聽器以添加到階段處理程序。

/* 
* Constructor. 
*/ 
public function Game() 
{ 
    addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler); 
} 

protected function addedToStageHandler(event:Event):void 
{ 
    removeEventListener(Event.ADDED_TO_STAGE, addedToStageHandler); 

    // Listeners. 
    stage.addEventListener(Event.ENTER_FRAME, _update); 
    stage.addEventListener(MouseEvent.MOUSE_DOWN, _mouseAction); 
    stage.addEventListener(MouseEvent.MOUSE_UP, _mouseAction); 

    stage.addEventListener(MouseEvent.CLICK, onClick); 

    // Helicopter. 
    _helicopter = new Helicopter(); 
    stage.addChild(_helicopter); 
} 
+0

嗨,傑森,謝謝你的幫助,但不幸的是,當遊戲進行時,它仍然在'輸出'部分給我提供完全相同的錯誤。 – Adzi 2012-04-06 16:44:35

相關問題