在adobe flex / air中扩展组件时,invalidateProperties(),invalidateSize()和invalidateDisplayList()函数做了什么?

问题描述 投票:0回答:2

在Adobe Flex / Air中扩展组件时执行了[invalidateProperties()invalidateSize()invalidateDisplayList()什么方法?

以及为什么有必要?

actionscript-3 flash apache-flex air flex4
2个回答
1
投票

根据documentation,这些功能会在更新和呈现显示列表之前向Flex / Flash发出信号以调用另一个功能。此“其他功能”似乎用于验证(如果值不正确,则可以更改值)。因此,通过调用无效函数,您可以强制进行重新计算。或者换句话说,重画。这将除去任何剩余的图形工件。

这是我通过文档进行的解释。也许有更多经验的人可以基于我的回答。


0
投票

所有这些组件都基于RENDER事件,因此,无论它们经历了多少更改(例如x,y,宽度等),它们每帧仅绘制一次。但是要使RENDER事件为每个组件触发,必须根据每个组件调用stage.invalidate()并对其进行解析。所有组件无效方法都允许您通过突出RENDER事件步骤或在其他情况下通过启动RENDER事件工作流来强制重绘组件。

© www.soinside.com 2019 - 2024. All rights reserved.