2012-10-30 3 views
1

런타임시 마스크 파일 (알파 영역이 포함 된 .png 파일을 포함하는 .swf 파일)을로드하는 응용 프로그램을로드 한 후 표시 객체에 적용합니다. 당연히, 마스크를 적절히 적용하기 위해, 마스크 및 마스크 된 오브젝트는 모두 cacheAsBitmap = true이 설정 될 필요가있다.cacheAsBitmap 마스크가 애니메이션 오버레이에서 사라집니다.

"모달"동작을위한 반투명 배경을 가진 마스크 ​​처리 된 콘텐츠 위에 오버레이가 표시되는 경우가 있습니다. 배경은 표시/숨기기시 페이드 인/페이드 아웃됩니다.

일부 컴퓨터에서는 (Mac & PC, Mac에서는 더 많은 것) 오버레이의 모양/사라짐으로 인해 브라우저 크기가 조정될 때까지 마스크 처리 된 내용이 스테이지에서 사라집니다.

누구나 이런 일이 발생하지 않도록하는 방법을 알고 있습니까?

+0

내가 할 수는 없지만 페이드 인이 끝나면 시도해 볼 수 있습니다. stage.invalidate()를 호출합니다. –

+1

마스크에 cacheAsBitmap 대신이 코드를 사용해 볼 수도 있습니다. http://stackoverflow.com/questions/1776187/actionscript3-alpha-masking/1776561#1776561 – Cay

+0

[Cay] (http://stackoverflow.com/users)/126782/cay) 답변으로 댓글을 달아주세요. 그것은 위대한 일을했습니다! –

답변

1

아마도 cacheAsBitmap은 약간의 시나리오에서 (Flash가 렌더링 영역을 계산하는 방식으로 인해) 다소 까다롭고 신뢰할 수 없기 때문일 수 있습니다. 알파 마스크를하는 또 다른 방법은 BlendMode.ALPHA입니다. 설정하는 방법은 여기에서 설명합니다 : Actionscript3 alpha masking?

+0

마술처럼 작동합니다! 경고 단어 : 상기 조합 위에 아무 곳에 나 흐림 필터가있는 레이어를 적용하면 알파 혼합 레이어가 완전 불투명하게 나타납니다. 나는 그것이 적용된 어떤 필터에서도 일어날 것이라고 추측한다. –

관련 문제