我们有 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>