2013-01-31 73 views
-1

我收到此錯誤:如何修復AS3 TypeError:錯誤#1009:無法訪問空對象引用的屬性或方法?

TypeError: Error #1009: Cannot access a property or method of a null object reference. 
    at Skool_fla::MainTimeline/frame1()[Skool_fla.MainTimeline::frame1:10] 
    at flash.display::MovieClip/gotoAndStop() 
    at Skool_fla::MainTimeline/goback()[Skool_fla.MainTimeline::frame2:22] 

是什麼原因造成這個錯誤,我該如何解決?

這是我的兩個幀代碼:

的第1幀:這是主菜單屏幕,您可以訪問信貸部分

import flash.events.MouseEvent; 

//setting up the variables 
//events 
//stop the timeline 

stop(); 

//the play button 
play_btn.addEventListener(MouseEvent.CLICK, playani); 
function playani(e:MouseEvent) 
{ 
    //asking it to progress to the load menu 
    gotoAndStop(3); 
} 
//the credits button 

credit_btn.addEventListener(MouseEvent.CLICK, creditslide); 
function creditslide(e:MouseEvent) 
{ 
    //asking it to go the credits frame 
    gotoAndStop(2); 
} 

幀2:這是在信貸出現

// 
// 
//all the imports 

//events 

var credit:credits_bck = new credits_bck(); 
var credits_name: credit_nm = new credit_nm(); 
var back_butn: back_button = new back_button(); 
addChild (credit); 
addChild (credits_name); 
addChild (back_butn); 

back_butn.addEventListener(MouseEvent.CLICK,goback); 

function goback(G:MouseEvent) 
{ 

removeChild (credit); 
removeChild (credits_name); 

gotoAndStop(1); 

} 
+0

什麼是你的問題? – Madbreaks

+0

以及我得到這個錯誤,爲什麼呢?以及如何修復它... – tailedmouse

回答

1

無論play_btnback_butn爲空。你的錯誤信息的行號不符合你的代碼,所以很難說。但要點是你試圖訪問不屬於的東西。檢查以確保正確地初始化變量/引用。

+0

嗯,對...有沒有什麼辦法來檢查它是否爲空? play_btn工作正常之前,我使用addBLild函數的back_btn,而不是隻是把它放在舞臺上... – tailedmouse

+0

我修復了這個問題,太現在它的指向正確的線... – tailedmouse

+0

從您發佈的堆棧跟蹤,錯誤在第2幀時出現,並點擊「返回」按鈕。當它回到第1幀時,某些(可能是play_btn或credit_btn)爲空。堆棧跟蹤表示錯誤發生在第1幀#10行。看那裏看看它指的是什麼。 –

0

也許你的問題是Flash的bug太多。

在我的FLA中,有一層有一個空的關鍵幀。如果我在它上面添加了一個矢量圖形,錯誤消失了。如果有一個或多個影片剪輯,並且沒有矢量圖形 - 錯誤再次出現。

然後,我做了一個新的圖層,並將所有對象從受損圖層粘貼到新圖層,並刪除了損壞的圖層。它解決了這個問題。 注意:不要複製關鍵幀。只複製內容。

現在我的項目變得更加複雜和可悲了,錯誤又回來了。

經常測試電影,如果錯誤再次出現,請檢查您創建的最後一個關鍵幀和圖層。

相關問題