【发布时间】:2011-07-11 12:20:32
【问题描述】:
我的应用程序以 1000 x 500 的舞台大小、2:1 的纵横比启动。本机窗口具有系统镶边,它总是会高几个像素。
如何只允许原生窗口按比例调整大小以始终保持舞台的 2:1 纵横比?
以下代码无法按我的预期工作:
package
{
//Imports
import flash.display.NativeWindow;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.NativeWindowBoundsEvent;
//Class
[SWF(width="1000", height="500", frameRate="60", backgroundColor="#000000")]
public class WindowTest extends Sprite
{
//Constants
private static const ASPECT_RATIO:Number = 2.0; //2:1 Aspect Ratio
//Constructor
public function WindowTest()
{
init();
}
//Initialization
private function init():void
{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.nativeWindow.addEventListener(NativeWindowBoundsEvent.RESIZE, windowResizeEventHandler);
}
//Window Resize Event Handler
private function windowResizeEventHandler(evt:NativeWindowBoundsEvent):void
{
evt.currentTarget.width = stage.stageHeight * ASPECT_RATIO;
}
}
}
【问题讨论】:
标签: actionscript-3 air resize window