2014-07-21 5 views
0

invalidateProperties(), invalidateSize()invalidateDisplayList() 방법은 adobe flex/air?에서 구성 요소를 확장 할 때 수행됩니까?어도비 flex/air?에서 구성 요소를 확장 할 때 invalidateProperties(), invalidateSize() 및 invalidateDisplayList()가 필요한 이유는 무엇입니까? 왜 이것이 필요한가요?

왜 이것이 필요한가요?

+0

"완료"? 무슨 소리 야? 어떻게 든 이것을 구현해야합니까, 아니면 ...? 존재하는 이유는 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/core/IInvalidating.html – Pimgd

+0

은 컨트롤 확장 과정에서의 작업입니다. 플렉스. –

답변

1

documentation에 따르면 이러한 기능은 표시 목록을 업데이트하고 렌더링하기 전에 flex/flash가 다른 기능을 호출하도록 신호를 보냅니다. 이 "다른 함수"는 유효성 검사를위한 것으로 보이며 잘못된 경우 값을 변경합니다. 따라서 invalidate 함수를 호출하면 다시 계산해야합니다. 또는 다시 말하면 다시 그립니다. 이렇게하면 남은 그래픽 아티팩트가 제거됩니다.

설명서를 통해 제 설명입니다. 아마 더 많은 경험을 가진 사람이 내 대답을 쌓을 수 있습니다.

0

이러한 모든 구성 요소는 RENDER 이벤트를 기반으로하므로 변경 사항이 많은 경우 (예 : x, y, 너비 등 ...) 프레임 당 한 번만 그려집니다. 그러나 각 구성 요소에 대해 RENDER 이벤트를 트리거하려면 stage.invalidate()를 호출하고 구성 요소별로 파싱해야합니다. 모든 구성 요소 무효화 메소드를 사용하면 RENDER 이벤트 단계가 하늘에 오르게하거나 다른 경우 RENDER 이벤트 작업 흐름을 시작하여 구성 요소를 다시 그릴 수 있습니다.