我正在尝试创建一个小型Flash应用程序,它需要在浏览器上尽可能大地运行。例如,regexr和Grooveshark以这种方式工作。但是,如果我使用File -> Publish Settings
并将宽度和高度设置为100%,则会将其调整为完整浏览器,但是......
当我使用stageHeight和stageWidth时,它们不会改变。我的动画中只有一个帧,所以我应该为“{resize”这样的内容发出eventListener
吗?
我刚刚开始动作3,所以请不要提供太高级的东西,至少不解释。
谢谢, Martti Laine
答案 0 :(得分:1)
你是对的 - 事实上,有一个resize event要听。但是,要正确调整舞台大小,您需要设置舞台的scaleMode
和align
属性。
stage.scaleMode = StageScaleMode.NO_SCALE; // Use NO_SCALE then resize your content manually to avoid stretching/pixelation
stage.align = StageAlign.TOP_LEFT; // So that (0, 0) is always in the top-left corner
stage.addEventListener(Event.RESIZE, resizeOccurred);
function resizeOccurred(e:Event):void
{
trace("New stage width: " + stage.stageWidth + "; new stage height: " + stage.stageHeight);
}
答案 1 :(得分:0)
按照完整的浏览器尺寸,您实际上是指全屏吗?
如果是,也将此监听器添加到舞台:
stage.addEventListener(FullScreenEvent.FULL_SCREEN, resizeHandler);
有趣的是,Flash不会考虑将全屏视为正常的大小调整。不要忘记班级中的进口:
import flash.events.Event;
import flash.events.FullScreenEvent;
否则我同意卡梅隆的意见。