TypeError:错误#1009:无法访问空对象引用的属性或方法。在 Videogame_fla::MainTimeline/loop()
我不断收到 #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;
}
I keep getting the #1009 error coming up, I checked that everything was on my stage and was named correctly.
This is the error message that pops up:
TypeError: Error #1009: Cannot access a property or method of a null
object reference. at Videogame_fla::MainTimeline/loop()
Here is my code:
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;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先,将一些跟踪语句放入循环中。这将告诉您哪一行引发了类型错误。例如:
等等。这将准确地告诉您哪一行是错误的。
此错误意味着某些内容未定义。所有影片剪辑都在 .fla 文件中定义吗?您可能拼错了一些东西。
另外,您是否不应该重置循环函数中的所有随机数,而不仅仅是在声明时?
First off, put a few trace statements into the loop. That will tell you which line is firing the typeerror. For example:
et cetera. This will tell you exactly which line is wrong.
This error means something is undefined. Are all the movieclips defined in the .fla file? You might have misspelled something.
Also, shouldn't you reset all the random numbers from withing the loop function, not just at declaration?
看来胡萝卜[#]_mc/bomb[#]_mc/cloud[#]_mc 从未创建,因此当您尝试访问它们的 .x 属性之一时,您正在尝试访问空引用的属性。
在使用对象之前,您需要实例化它们。
It appears that carrot[#]_mc/bomb[#]_mc/cloud[#]_mc are never created, so when you attempt to access one of their .x properties, you are trying to access a property of a null reference.
You need to instantiate the objects, before you use them.