Event.RENDER多久会被调用一次?

时间:2011-04-19 18:58:46

标签: actionscript-3 events

如果我通过addChild()将一些对象添加到显示列表中,Event.RENDER会多久被触发一次?

1 个答案:

答案 0 :(得分:2)

只有在明确使用stage.invalidate();

时才会调用它

你应该注意到与Event.RENDER的监听器有关的某些错误和特殊注意事项(或者至少存在FP9中的错误,这是我最后一次主动使用stage.invalidate)。

  1. 无论有多少个不同的对象侦听Event.RENDER事件,如果其中一个调用removeEventListener(Event.RENDER ......那么所有侦听器都会被删除。据我所知, RENDER是唯一发生此错误的事件(或在FP9中使用过)

  2. 您不能在Event.RENDER处理程序中使用stage.invalidate()。因为你只是为了触发渲染处理程序而调用stage.invalidate,所以这应该不是问题。

  3. 编辑:以下评论中的bigp有效观察到Flex确实可以在幕后使用stage.invalidate。把我的答案严格地适用于vanilla AS3,而没有任何附带的框架,如Flex。