我正在尝试在两个按钮上调用一个函数
nav1or2.navi1.navBtn1.addEventListener(MouseEvent.CLICK, goSmall);
nav4.navi4.navBtn4.addEventListener(MouseEvent.CLICK, goSmall);
function goSmall(event:MouseEvent):void
{
gotoAndPlay(41);
}
第二个按钮nav4.navi4.navBtn4.addEventListener(MouseEvent.CLICK, goSmall);
无效,我收到了这个TypeError:
错误#1009:无法访问null对象的属性或方法 参考
请帮忙。
答案 0 :(得分:2)
我已经解决了,而不是使用此nav1or2.navi1.navBtn1
,nav4.navi4.navBtn4
现在我正在使用nav1or2.navi1
,nav4.navi4
它正在我的情况下工作,navBtn4没有“addEventListener”但我不确定为什么它不能使用这个nav4.navi4.navBtn4
如果有人知道,请告诉我我的文件的网址已被更改:http://sdrv.ms/1bo86qQ
答案 1 :(得分:0)
这意味着当您运行该代码时,navBtn4没有“addEventListener”方法。尝试使用带有断点的调试器并检查它是否已初始化。
答案 2 :(得分:0)
我找到了你的问题!!!
修复代码如下:
nav1or2.navi1.navBtn1.addEventListener(MouseEvent.CLICK, goSmall);
nav4.navi4.navBtn1.addEventListener(MouseEvent.CLICK, goSmall);
function goSmall(event:MouseEvent):void
{
gotoAndPlay(41);
}
你的问题是: navi1 navi2 navi4 等等... 都是同一个对象!!
当你改变其中一个时,你就改变它们了!
所以他们都包含“ navBtn1 ”而不是“ navBtn4 ”
这就是为什么你得到错误#1009,因为属性“navBtn4”确实不存在!!