AIR / Flash 全屏显示在多个显示器上作为一个窗口吗?

AIR / Flash 全屏显示在多个显示器上作为一个窗口吗?

我们有 4 个显示器,以 2 x 2 的排列方式排列。有什么方法可以让新版本的 AIR 在一个窗口中扩展到所有显示器吗?

或者是否有任何软件可以欺骗显示驱动程序仅显示一个大显示器?

答案1

查看文档flash.display.屏幕

bounds一旦确定了它应该有多大,你就可以使用flash.display.NativeWindow班级。

更新:

因此,在工作时我有两个显示器,因此我快速测试了一个 AIR 应用程序:

package
{
    import flash.display.NativeWindow;
    import flash.display.Screen;
    import flash.display.Sprite;
    import flash.geom.Rectangle;

    public class MultimonitorTest extends Sprite
    {
        public function MultimonitorTest()
        {
            var screens:Array = Screen.screens;
            var rect:Rectangle = new Rectangle();

            for(var i:uint;i<screens.length;i++) {
                trace(Screen(screens[i]).bounds);
                rect = rect.union(screens[i].bounds);
            }
            trace(rect);
            this.stage.nativeWindow.bounds = rect;
        }
    }
}

您可以看到它循环遍历可用的屏幕。它还创建一个新的矩形,它是复合屏幕的并集。然后设置nativeWindow.bounds为该并集。

应用程序的输出如下:

(x=0, y=0, w=1440, h=900)
(x=1440, y=0, w=1920, h=1080)
(x=0, y=0, w=3360, h=1080)

需要考虑的一点是,这不考虑任务栏或其他任何东西,如果你的屏幕尺寸不同,就像我的一样,那么得到的矩形将比你的实际屏幕大。但这至少应该给你一个起点。

因此,回答你的问题:是的。:)

答案2

还有一种更简单的方法来实现这一点 - 只需将舞台设置为所需的大小,然后在 application.xml 中设置<systemChrome>none</systemChrome>

相关内容