我不断收到#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;
}
答案 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的属性参考
在使用它们之前,您需要实例化对象。