【发布时间】:2009-08-19 11:35:38
【问题描述】:
我创建了一个类,它必须注册到 Event.RENDER 事件,以便它知道何时渲染舞台。我的代码的简化版本如下所示:
package
{
import flash.events.Event;
import flash.display.Sprite;
public final class Test extends Sprite
{
public final function Test()
{
addEventListener(Event.ADDED_TO_STAGE,added,false,0,true);
}
private final function added(event:Event):void
{
trace("added to stage");
stage.addEventListener(Event.RENDER, renderHandler,false,0,true);
}
private final function renderHandler(event:Event):void
{
trace("Event.RENDER dispatched!");
}
}
}
正在调度 Event.ADDED_TO_STAGE 事件。但是,Event.RENDER 事件不是。知道我在这里可能做错了什么吗?父级将此对象作为子级添加到舞台,所以这不是问题。
【问题讨论】:
-
您确定在添加 stage.invalidate() 后会调用它吗?
-
我根本没有调用 stage.invalidate().. 我应该吗?
-
是的,一开始有点令人困惑。将其视为 JUST_BEFORE_RENDER。如果您正在寻找一般更新事件,请查看 ENTER_FRAME
-
我正在寻找 JUST_BEFORE_RENDER 事件。但是,我不明白如何将它与 invalidate 方法一起使用。
标签: actionscript-3 events flex3 rendering stage