문제

상황은 다음과 같습니다. 외부 .swf를로드하는 쉘이 있습니다. 이제 .swf는 800x600이지만 애니메이션 작품이며 무대에서 연장되는 요소가 있습니다. .swf를 쉘에로드하고 너비 속성을 호출하면 1200을 반환합니다. 단계에서 나오는 요소를 포함하기 때문입니다.

이것은 내가 원하는 것이 아닙니다. 이상적으로는 '계산 된 너비'를 반환 할 수있는 두 가지 속성이 있고 하나는 '기본 너비'를 반환합니다. 이러한 속성이 존재합니까? 그렇지 않은 경우 최고의 해결 방법은 무엇입니까?

도움이 되었습니까?

해결책

FLA로 정의 된로드 된 SWF의 너비와 높이는 Loader SWF를로드 한 개체.

swfLoader.contentLoaderInfo.width
swfLoader.contentLoaderInfo.height

이것은 항상 FLA 속성에 정의 된 크기를 보여줍니다. 이미지, movieclips 또는 무대에서 확장 한 경우에는 차이가 없습니다.

그만큼 stage.stageWidth 그리고 stage.stageHeight 속성은 항상 무대의 너비를 반환하며, 무대는 항상 가장 상위 SWF입니다. 다시 말해, 그것은 항상 쉘 스테이지의 치수를 나타냅니다. 플래시 애플리케이션에는 한 단계 만 있습니다.

다른 팁

마크는 그럴 가능성이 매우 높습니다 컨텐츠 로더 정보 객체에는 올바른 너비와 높이가 포함됩니다. 나는 나 자신을 확인한 적이 없어서 그것을 보장 할 수 없다. 문서는 '명목'이라고 말하고 '실제'와 대조하여 합리적으로 보입니다.

몇 가지 다른 옵션이 있습니다. 외부 SWF를 마스킹 할 수 있습니다. 무대의 크기 인 마스크를 만들고 그 아래에 모든 내용을 넣으십시오. 또 다른 아이디어는 직사각형 모양 세트를 기반으로 Movieclip을 생성하는 것입니다. x : 0, y : 0에 0을 넣는 알파입니다. 너비와 높이와 무대와 일치하는 것입니다. 인스턴스 이름을 제공 한 다음로드되면 크기에 해당 값을 사용하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top