Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 ActionScript 3:eventlisteners在不在frame1中时给出1009错误_Actionscript 3 - Fatal编程技术网

Actionscript 3 ActionScript 3:eventlisteners在不在frame1中时给出1009错误

Actionscript 3 ActionScript 3:eventlisteners在不在frame1中时给出1009错误,actionscript-3,Actionscript 3,谢谢你的回复 *注意:当按钮和代码位于第1帧时,它工作正常* 所有脚本和两个按钮都在第2帧中。唯一不在画面中的是我从图书馆里召唤出来的精灵 理想情况下,第1帧上有导航按钮-每个按钮都连接了gotoAndPlay调用。当您单击这些导航按钮中的每一个时,它会将您带到不同的页面 每个页面都有一组按钮。单击每个按钮时,播放音频,并向舞台添加/删除子级 我的问题是除1以外的任何帧,在本例中,2一旦落在帧上,即使有适当的按钮,它也会说它看不到它们,并在偶数侦听器处犹豫 我希望这是有道理的 ---原职----

谢谢你的回复

*注意:当按钮和代码位于第1帧时,它工作正常*

所有脚本和两个按钮都在第2帧中。唯一不在画面中的是我从图书馆里召唤出来的精灵

理想情况下,第1帧上有导航按钮-每个按钮都连接了gotoAndPlay调用。当您单击这些导航按钮中的每一个时,它会将您带到不同的页面

每个页面都有一组按钮。单击每个按钮时,播放音频,并向舞台添加/删除子级

我的问题是除1以外的任何帧,在本例中,2一旦落在帧上,即使有适当的按钮,它也会说它看不到它们,并在偶数侦听器处犹豫

我希望这是有道理的

---原职---- 我正在努力了解这些东西是如何工作的。我在第一帧有一个空帧。在这个框架中,我有代码:

gotAndStop(2);
在第二帧上,我有两个按钮。我已经向它们添加了事件侦听器。这个很好用。问题是,当它到达第二帧时,我会出现以下错误:

TypeError:错误1009:无法访问null的属性或方法 对象引用。在佛罗里达州测试时::主时间线/帧2

令人困惑的是,当我把所有的东西都放在第1帧时,它就像一个符咒

在第2帧中,按钮已经存在,如果我将它们放在第1帧中,它会工作,但在第2帧中没有骰子


有人能解释一下发生了什么,以及我可以如何解决这个问题吗?

不知道为什么要在第1帧中编写脚本。如果第1帧中没有任何内容,用户将自动转到第2帧,如果您放置了一个停止按钮;在第2帧上。如果你想停下来;在第1帧上,可以添加带有事件侦听器的按钮gotoAndStop2。将脚本放置在稍后的帧中也可能被引用的帧上时,请使用单独的脚本层,并将该层从脚本首次出现在其上的关键帧扩展到其也被引用的关键帧。HTH

你知道-经过多次搜索,我找到了一个解决方案,它看起来确实非常麻烦。我添加了以下代码,这些代码是我从别人的帖子中复制的,以防其他noob也有类似的问题

enter code here
      //listen for the Flash player's ENTER_FRAME event...
      this.addEventListener(Event.ENTER_FRAME, onEnterFrame, false);

      //and call this checker function continually until all of the buttons are accounted for
      function onEnterFrame(e:Event):void 
      {
            if(and_btn != null && big_btn != null )
            {
                 and_btn.addEventListener(MouseEvent.CLICK, fAnd);
                 big_btn.addEventListener(MouseEvent.CLICK, fBig);

            //clean up the enter frame listener so that this function no longer gets called
            this.removeEventListener(Event.ENTER_FRAME, onEnterFrame, false);
            }
      }

代码似乎运行得太过频繁,以至于按钮没有机会填充舞台

能否将代码放在第2帧中?对不起,我想我解释得不太清楚。所有脚本和两个按钮都在第2帧中。唯一不在画面中的是我从图书馆里召唤出来的精灵。