为什么不Event.RENDER分派?
-
18-09-2019 - |
题
我做了一个类,其具有注册到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()
方法分派Event.RENDER
事件。按照 AS3参考, Event.RENDER
被分派屏幕呈现之前,让所有侦听对象更新的机会。我用Event.RENDER
重绘只有当事情已经改变了他们的参数静态形状。它比重绘每帧更快。
不隶属于 StackOverflow