as3 数组错误#1009 空对象引用
as3 array error #1009 null object reference
我正在学习 as3 上的数组,我设法(在本网站用户的帮助下)让我的数组工作,但现在我收到 #1009 错误,当 box_MC
命中 finish_MC
并切换到下一个场景,根据我的理解,它的发生是因为数组仍然是 运行?不是 100% 确定。
Error: TypeError: Error #1009: Cannot access a property or method of
a null object reference.at
arraystut3_fla::MainTimeline/onEnterThisFrame()
您只是忘记删除附加到您的 stage
对象的 Event.ENTER_FRAME
侦听器,该侦听器仍然每帧触发,并且因为您的 onEnterThisFrame
函数中使用的所有元素(对象)仅在您的第一个场景( Scene 1
)中,您仍然会收到该错误。
为避免这种情况,您必须像这样删除该侦听器:
if(box_MC.hitTestObject(finish_MC)) {
stage.removeEventListener(Event.ENTER_FRAME, onEnterThisFrame);
trace ("ending");
gotoAndPlay (1, "tester");
} else {
trace ("not yet");
}
或者您可以在第二个场景的第一帧中删除它 (tester
):
stop();
stage.removeEventListener(Event.ENTER_FRAME, onEnterThisFrame);
希望能帮到你。
我正在学习 as3 上的数组,我设法(在本网站用户的帮助下)让我的数组工作,但现在我收到 #1009 错误,当 box_MC
命中 finish_MC
并切换到下一个场景,根据我的理解,它的发生是因为数组仍然是 运行?不是 100% 确定。
Error: TypeError: Error #1009: Cannot access a property or method of a null object reference.at arraystut3_fla::MainTimeline/onEnterThisFrame()
您只是忘记删除附加到您的 stage
对象的 Event.ENTER_FRAME
侦听器,该侦听器仍然每帧触发,并且因为您的 onEnterThisFrame
函数中使用的所有元素(对象)仅在您的第一个场景( Scene 1
)中,您仍然会收到该错误。
为避免这种情况,您必须像这样删除该侦听器:
if(box_MC.hitTestObject(finish_MC)) {
stage.removeEventListener(Event.ENTER_FRAME, onEnterThisFrame);
trace ("ending");
gotoAndPlay (1, "tester");
} else {
trace ("not yet");
}
或者您可以在第二个场景的第一帧中删除它 (tester
):
stop();
stage.removeEventListener(Event.ENTER_FRAME, onEnterThisFrame);
希望能帮到你。