【问题标题】:Centering AIR application with fullscreen全屏居中 AIR 应用程序
【发布时间】:2011-05-13 12:50:04
【问题描述】:


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

有什么想法吗?

谢谢大家。

【问题讨论】:

    标签: air adobe fullscreen centering


    【解决方案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;
         }
    

    请注意,进入和离开全屏模式时都会调度全屏事件。

    【讨论】:

    • 基本上容器有一个加载各种模块的模块加载器..我希望加载的模块位于应用程序的中心。每当屏幕全屏时,模块加载器都会粘在左上角(x=0和 y=0) 的屏幕..而不是在 screen.modules 中居中具有与容器相同的大小..1024 x 768
    • 正确,因此使用相同的方法将您的模块加载器而不是容器居中。 moduleLoader.x = stage.stageWidth / - moduleLoader.width / 2;等
    猜你喜欢
    • 1970-01-01
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    • 2019-08-15
    相关资源
    最近更新 更多