Flash 时间轴中的代码与使用文档类之间的差异

Flash 时间轴中的代码与使用文档类之间的差异,flash,actionscript-3,Flash,Actionscript 3,我有一些代码直接在时间轴中访问/修改了一些电影剪辑的属性。 然后我做了正确的事情,将代码移动到一个文档类。我将以前在时间轴中的代码放入文档类构造函数中 我遇到的问题是,如果我“太快”访问电影剪辑属性,它会报告它们为空。如果我将代码放在计时器事件回调中半秒左右,或者用大约8帧或更高的帧调用addFrameScript,则电影剪辑引用是有效的,并且一切正常 因此,由于某种原因,当时间轴中的代码被调用时,所有的电影剪辑实例都是有效的。但是,当在文档类构造函数中时,它们不是。我已经尝试使用ENTER\u

我有一些代码直接在时间轴中访问/修改了一些电影剪辑的属性。 然后我做了正确的事情,将代码移动到一个文档类。我将以前在时间轴中的代码放入文档类构造函数中

我遇到的问题是,如果我“太快”访问电影剪辑属性,它会报告它们为空。如果我将代码放在计时器事件回调中半秒左右,或者用大约8帧或更高的帧调用addFrameScript,则电影剪辑引用是有效的,并且一切正常

因此,由于某种原因,当时间轴中的代码被调用时,所有的电影剪辑实例都是有效的。但是,当在文档类构造函数中时,它们不是。我已经尝试使用ENTER\u FRAME事件回调,但是movieclips仍然没有准备好

该代码应该根据一些loaderinfo参数更改一些电影剪辑属性,因此我确实需要在任何动画开始之前设置这些属性

因此,由于某种原因,当时间轴中的代码被调用时,所有的电影剪辑实例都是有效的。但是,当在文档类构造函数中时,它们不是

对。在将主movieclip(“时间线”)添加到阶段之前调用构造函数。时间线是一个继承了flash.display.MovieClip的对象,在它出现在任何地方之前,必须先实例化它。顺便说一下,当您没有分配文档类时,也会发生这种情况

为了确保访问已正确初始化的属性(例如放置在IDE阶段上的对象),请将相关代码移动到事件处理程序中并侦听

因此,由于某种原因,当时间轴中的代码被调用时,所有的电影剪辑实例都是有效的。但是,当在文档类构造函数中时,它们不是

对。在将主movieclip(“时间线”)添加到阶段之前调用构造函数。时间线是一个继承了flash.display.MovieClip的对象,在它出现在任何地方之前,必须先实例化它。顺便说一下,当您没有分配文档类时,也会发生这种情况


要确保访问已正确初始化的属性(例如,您在IDE中放置在后台的对象),请将相关代码移动到事件处理程序中并侦听。

Ah,谢谢!我设法找到了解决办法。当我将Event.ADDED和Event.ADDED_TO_STAGE事件处理程序添加到文档类构造函数时,我发现前两个调用被添加,然后将文档类的_添加到_STAGE。之后,似乎会为放置在舞台上的每个对象触发一个添加的事件。似乎在添加我试图操作的movieclips时,我可以在文档类代码中修改它们。@Guts
事件。ADDED
每次将
DisplayObject
添加到
DisplayObjectContainer
时都会激发<代码>事件。当通过将要(或已经)添加到阶段的
DisplayObjectContainer
中的某个
DisplayObjectContainer
直接或间接地添加到阶段时,会触发添加到阶段的
ADDED\u TO\u STAGE
。啊,谢谢!我设法找到了解决办法。当我将Event.ADDED和Event.ADDED_TO_STAGE事件处理程序添加到文档类构造函数时,我发现前两个调用被添加,然后将文档类的_添加到_STAGE。之后,似乎会为放置在舞台上的每个对象触发一个添加的事件。似乎在添加我试图操作的movieclips时,我可以在文档类代码中修改它们。@Guts
事件。ADDED
每次将
DisplayObject
添加到
DisplayObjectContainer
时都会激发<代码>事件。当通过在将(或已经)添加到阶段的某些
DisplayObjectContainer
中直接或间接地将
DisplayObject
添加到阶段时,会触发添加到阶段的