Flash Builder에서 AIR 응용 프로그램을 만들고 stage.stageWidth
과 같은 것을 가져와야합니다. 그러나 stage.stageWidth
이 작동하지 않고 nativeWindow.width
이 윈도우의 폭을 반환합니다. 콘텐츠/스테이지 폭이 필요합니다. 어떤 방법이 있습니까?플래시 빌더 - 스테이지 폭 가져 오기
thanks
Flash Builder에서 AIR 응용 프로그램을 만들고 stage.stageWidth
과 같은 것을 가져와야합니다. 그러나 stage.stageWidth
이 작동하지 않고 nativeWindow.width
이 윈도우의 폭을 반환합니다. 콘텐츠/스테이지 폭이 필요합니다. 어떤 방법이 있습니까?플래시 빌더 - 스테이지 폭 가져 오기
thanks
stage.stageWidth 거의 윈도우와 동일한 크기를 뺀 크롬되어야 전체 스테이지의 폭을 반환한다. 스테이지에 추가되는 내용을 모두 가져 오려면 스테이지에 단일 컨테이너를 추가하고 모든 객체를 추가 한 다음 해당 컨테이너의 너비/높이를 확인하는 것이 가장 쉬운 방법입니다. 이렇게하면 표시 목록 (이 컨테이너 또는 그 자식 중 하나)에 생성하여 추가 한 모든 객체의 누적 너비/높이를 정확하게 알 수 있습니다.
또는 문서 클래스를 사용하는 경우 기본적으로 해당 문서 클래스는 기본적으로 스테이지에 추가되는 컨테이너이므로 스테이지에 추가하는 대신 해당 문서 클래스의 하위 항목으로 추가하십시오. 그런 다음 문서 클래스의 너비/높이를 확인하십시오. 예 :
package com.katruax.collageapp
{
import flash.display.MovieClip;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
/**
* ...
* @author Jesse Nicholson
*/
public class MyApp extends MovieClip
{
public function MyApp()
{
if (stage) {
init();
}else {
addEventListener(Event.ADDED_TO_STAGE, init);
}
}
private function init(e:Event = null):void
{
//Set the alignment and scale mode of the stage
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
var movieClipA:MovieClip = new SomeLibraryMovieClip1();
var movieClipB:MovieClip = new SomeLibraryMovieClip2();
this.addChild(movieClipA);
this.addChild(movieClipB);
trace(this.height, this.width);
}
}
스테이지 스케일 모드와 정렬 모드를 설정합니다. 이는 AIR 1.0에서 이러한 속성을 설정하지 않으면 스테이지에서 객체 위치 및 높이/너비를 설정할 때 왜곡 된 결과가 발생하고 그 원인은 크기 조정 때문일 수 있습니다. 스테이지가 어떤 이유로 NativeWindow 내부의 X/Y를 따라 번역 할 수있는 것처럼 보였습니다. 더 이상 그렇지 않을 수도 있지만 어쨌든 좋은 연습입니다. 희망이 도움이됩니다.
게시물에 따르면, 나는 단지 '너비'와'높이'를 사용할 수 있다는 것을 알았습니다. 고마워요. – simPod
"stage.stageWidth"가 작동하지 않는 이유는 무엇입니까? 조금 더 자세히 설명해 주시겠습니까? –