使用全屏中心AIR应用程序

时间:2010-11-21 21:35:18

标签: air adobe fullscreen centering


我有一个在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。

有什么想法吗?

谢谢大家。

1 个答案:

答案 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;
     }

请注意,当进入和退出全屏模式时,将调度全屏事件。