AIR / Flash Полноэкранный режим на нескольких мониторах в одном окне?
У нас 4 монитора, расположенных по 2 x 2. Есть ли способы, позволяющие новой версии AIR распространяться на все мониторы в одном окне?
В качестве альтернативы, есть ли программное обеспечение, которое может обмануть драйвер дисплея, чтобы показать только один большой монитор?
2 ответа
Проверьте документацию для flash.display.Screen.
Как только вы выясните, насколько большим он должен быть, вы сможете установить его положение и размер, используя 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)
Следует учитывать, что это не учитывает панель задач или что-то еще, и если ваши экраны имеют разные размеры, как у меня, результирующий прямоугольник будет больше, чем ваши фактические экраны. Но это должно по крайней мере дать вам место для начала.
Итак, чтобы ответить на ваш вопрос: да.:)
Есть также гораздо более простой способ сделать это - просто установите для сцены необходимый размер и в файле application.xml установите <systemChrome>none</systemChrome>