我有一个在AIR / AS 3.0中开发的应用程序。
我想以全屏运行应用程序,所有内容都在窗口中心。
我试图用
stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE
但事实证明我的所有组件都不会根据需要在屏幕上居中(当全屏显示时)并且它们被截止或者它们在屏幕外。 基本上应用程序是以低分辨率开发的大约1024x768 ...但现在它需要全屏运行。此外,应用程序在运行时加载各种模块,它们似乎也不会全屏显示。当应用程序从全屏幕出来时它也显示应用程序窗口的滚动条..
编辑:已添加代码:
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" width="1024" height="768">
<Application:ApplicationStartContainer id="aps" width="100%" height="100%">
<mx:ModuleLoader id="moduleLoader"/>
</Application:ApplicationStartContainer>
</mx:WindowedApplication>
一开始,应用程序全屏显示,模块加载器加载模块/ swfs
大小为1024 * 768,但目前所有已加载的模块都已对齐
x = 0且y = 0。
有什么想法吗?
谢谢大家。
答案 0 :(得分:1)
将所有显示对象布局在显示对象容器中 - 作为新精灵的子项,并侦听全屏事件以使显示对象容器居中。
stage.addEventListener(FullScreenEvent.FULL_SCREEN, fullScreenEventHandler);
//assuming the registration point of 'container' is top-left
function fullScreenEventHandler(evt:FullScreenEvent):void
{
container.x = stage.stageWidth / 2 - container.width / 2;
container.y = stage.stageHeight / 2 - container.height / 2;
}
请注意,当进入和退出全屏模式时,将调度全屏事件。