2012-02-02 125 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属性时,试图访问空引用。

您需要在使用它们之前实例化对象。

相关问题