Actionscript 3 动画后闪烁as3错误#1009
} 我在前10帧中制作了一个动画,在第11帧中我制作了两个按钮,第一个按钮我给了实例名称“1”,第二个按钮我给了名称“2”,然后我启动了程序,我得到了以下结果:Actionscript 3 动画后闪烁as3错误#1009,actionscript-3,flash,Actionscript 3,Flash,} 我在前10帧中制作了一个动画,在第11帧中我制作了两个按钮,第一个按钮我给了实例名称“1”,第二个按钮我给了名称“2”,然后我启动了程序,我得到了以下结果: package { import flash.display.MovieClip; import flash.events.MouseEvent; public class ro extends MovieClip { public function ro() { one.addEventListene
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class ro extends MovieClip {
public function ro() {
one.addEventListener(MouseEvent.CLICK,bu3);
two.addEventListener(MouseEvent.CLICK,bu4);
function bu3 (event:MouseEvent){
trace("1");
}
function bu4 (event:MouseEvent){
trace("2");
}
}
}
有什么问题?那我该怎么办呢?
ro
是您的文档类吗?
启动程序时,flash运行时将检查动画的第一帧。因为在第一个帧中没有任何名为“一”或“二”的实例(正如您所说,它期望从您的代码中得到:初始化我的程序并立即将侦听器分配给“一”和“二”),它抛出一个错误:无法访问空对象引用的属性或方法
-意味着:“我不能在空对象上调用某个对象”(调用:addEventListener方法;on:在该帧中为空的一个或两个对象的实例)
您需要等待第11帧。在这种情况下,请从构造函数中删除这些行,并在那里分配一个事件侦听器:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at ro()[C:\Users\cnndani\Desktop\New folder (2)\ro.as:10]
at runtime::ContentPlayer/loadInitialContent()
at runtime::ContentPlayer/playRawContent()
at runtime::ContentPlayer/playContent()
at runtime::AppRunner/run()
at ADLAppEntry/run()
at global/runtime::ADLEntry()
当然,有无数种方法可以做到这一点,这只是一个例子
addEventListener(Event.FRAME_CONSTRUCTED, onFrameConstructed);
....
function onFrameConstructed(e:Event):void {
if(this.currentFrame == 11) {
removeEventListener(Event.FRAME_CONSTRUCTED, onFrameConstructed);
one.addEventListener(MouseEvent.CLICK,bu3);
two.addEventListener(MouseEvent.CLICK,bu4);
}
}