TypeError:错误#1009:无法访问空对象引用的属性或方法。在Videogame_fla :: MainTimeline / loop()

时间:2012-02-02 17:12:20

标签: flash actionscript

我不断收到#1009错误,我检查了一切都在我的舞台上并且被正确命名。

这是弹出的错误消息:

  

TypeError:错误#1009:无法访问null的属性或方法   对象参考。在Videogame_fla :: MainTimeline / loop()

这是我的代码:

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;



}

2 个答案:

答案 0 :(得分:0)

首先,将一些跟踪语句放入循环中。这将告诉你哪一行正在触发typeerror。例如:

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

等等。这将告诉你确切的哪一行是错误的。

此错误表示某些内容未定义。是.fla文件中定义的所有动画片段?你可能拼错了一些东西。

另外,你不应该使用循环函数重置所有随机数,而不仅仅是声明吗?

答案 1 :(得分:0)

看起来胡萝卜[#] _ mc / bomb [#] _ mc / cloud [#] _ mc永远不会被创建,所以当你试图访问他们的.x属性之一时,你试图访问null的属性参考

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