2012-02-02 68 views
0

我不斷收到#1009錯誤,我檢查了一切都在我的舞臺上並被正確命名。TypeError:錯誤#1009:無法訪問空對象引用的屬性或方法。在Videogame_fla :: MainTimeline/loop()

這是出現的錯誤消息: TypeError:錯誤#1009:無法訪問空對象引用的屬性或方法。 在Videogame_fla :: MainTimeline /環路()

這裏是我的代碼:

var carrot:Number = Math.floor(Math.random() * 460) +0; 
var carrot1:Number = Math.floor(Math.random() * 460) +0; 
var carrot2:Number = Math.floor(Math.random() * 460)+0; 
var carrot3:Number = Math.floor(Math.random() * 460)+0; 
var carrot4:Number = Math.floor(Math.random() * 460)+0; 

var bomb:Number = Math.floor(Math.random() * 460)+0; 
var bomb1:Number = Math.floor(Math.random() * 460)+0; 
var bomb2:Number = Math.floor(Math.random() * 460)+0; 
var bomb3:Number = Math.floor(Math.random() * 460)+0; 
var bomb4:Number = Math.floor(Math.random() * 460)+0; 

var cloud1:Number = Math.floor(Math.random() * 460)+0; 
var cloud2:Number = Math.floor(Math.random() * 460)+0; 
var cloud3:Number = Math.floor(Math.random() * 460)+0; 
var cloud4:Number = Math.floor(Math.random() * 460)+0; 


stage.addEventListener(Event.ENTER_FRAME,loop); 
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownevent); 
stage.addEventListener(KeyboardEvent.KEY_UP,keyUpevent); 


function loop(myevent:Event) 
{ 

carrot_mc.x = carrot; 
carrot1_mc.x = carrot1; 
    carrot2_mc.x = carrot2; 
carrot3_mc.x = carrot3; 
carrot4_mc.x = carrot4; 

bomb_mc.x = bomb; 
bomb1_mc.x = bomb1; 
bomb2_mc.x = bomb2; 
bomb3_mc.x = bomb3; 
bomb4_mc.x = bomb4; 

cloud1_mc.x = cloud1; 
cloud2_mc.x = cloud2; 
cloud3_mc.x = cloud3; 
cloud4_mc.x = cloud4; 



} 

回答

0

首先,把這幾個跟蹤語句進入循環。這將告訴你哪一行正在觸發typeerror。例如:

trace("1"); 
carrot_mc.x = carrot; 
trace("2"); 
carrot1_mc.x = carrot1; 
trace("3"); 
carrot2_mc.x = carrot2; 

等等。這會告訴你究竟哪一行是錯誤的。

這個錯誤意味着什麼是未定義的。 .fla文件中是否定義了所有的影片剪輯?你可能拼錯了一些東西。

另外,你不應該重置所有隨循環函數的隨機數,而不僅僅是在聲明?

0

看起來,胡蘿蔔[#] _ mc/bomb [#] _ mc/cloud [#] _ mc永遠不會創建,所以當您嘗試訪問其某個.x屬性時,試圖訪問空引用。

您需要在使用它們之前實例化對象。

相關問題