| Пакет | flash.display |
| Класс | public final class Screen |
| Наследование | Screen EventDispatcher Object |
| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0 |
Экраны — это независимые области рабочего стола внутри одного, возможно, большего по размеру «виртуального рабочего стола». Исходная точка виртуального рабочего стола находится в верхнем левом углу главного экрана операционной системы. Таким образом, координаты границ отдельного экрана дисплея могут быть отрицательными. Также могут быть области виртуального рабочего стола, не входящие ни в один экран отображения.
Класс Screen, содержит статические элементы класса для обращения к доступным экранным объектам и элементы экземпляров для обращения к свойствам отдельных экранов. Информацию об экранах не следует сохранять в кэше, так как пользователь может в любой момент ее изменить.
Обратите внимание, что между экранами и физическими мониторами, подключенными к компьютеру, не обязательно должно быть соотношение один к одному. Например, два монитора могут показывать один и тот же экран.
Нельзя создать экземпляры класса Screen напрямую. Вызовы конструктора new Screen() выдают исключение ArgumentError.
| Свойство | Определено | ||
|---|---|---|---|
| bounds : Rectangle [только для чтения]
Границы данного экрана. | Screen | ||
| colorDepth : int [только для чтения]
Глубина цвета (выраженная количеством битов). | Screen | ||
![]() | constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | |
| mainScreen : Screen [статические] [только для чтения]
Главный дисплей. | Screen | ||
| mode : ScreenMode
Текущий режим экрана объекта Screen. | Screen | ||
| modes : Array [только для чтения]
Массив объектов ScreenMode объекта Screen. | Screen | ||
| screens : Array [статические] [только для чтения]
Массив доступных на данный момент экранов. | Screen | ||
| visibleBounds : Rectangle [только для чтения]
Границы области на данном экране, в которой будут отображаться окна. | Screen | ||
| Метод | Определено | ||
|---|---|---|---|
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии. | EventDispatcher | |
![]() |
Посылает событие в поток событий. | EventDispatcher | |
[статические]
Возвращает набор экранов (возможно, пустой), пересекающих данный прямоугольник. | Screen | ||
![]() |
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события. | EventDispatcher | |
![]() |
Показывает, определено ли заданное свойство для объекта. | Object | |
![]() |
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | |
![]() |
Показывает наличие заданного свойства и его перечисляемость. | Object | |
![]() |
Удаляет прослушиватель из объекта EventDispatcher. | EventDispatcher | |
![]() |
Задает доступность динамического свойства для операций цикла. | Object | |
![]() |
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | |
![]() |
Возвращает строковое представление заданного объекта. | Object | |
![]() |
Возвращает элементарное значение заданного объекта. | Object | |
![]() |
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником. | EventDispatcher | |
bounds | свойство |
bounds:Rectangle [только для чтения] | Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0 |
Границы данного экрана.
Местоположение экрана определяется относительно виртуального рабочего стола
В системах Linux, использующих менеджеры окон, это свойство возвращает границы рабочего стала, а не видимые границы экрана.
Реализация
public function get bounds():RectangleПример ( Использование этого примера )
import flash.display.Screen; import flash.geom.Rectangle; var mainScreen:Screen = Screen.mainScreen; var screenBounds:Rectangle = mainScreen.bounds;
colorDepth | свойство |
colorDepth:int [только для чтения] | Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0 |
Глубина цвета (выраженная количеством битов).
Реализация
public function get colorDepth():intПример ( Использование этого примера )
var mainScreen:Screen = Screen.mainScreen; var colors:uint = mainScreen.colorDepth;
mainScreen | свойство |
mainScreen:Screen [только для чтения] | Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0 |
Главный дисплей.
Реализация
public static function get mainScreen():ScreenПример ( Использование этого примера )
var primaryScreen:Screen = Screen.mainScreen;
mode | свойство |
mode:ScreenMode| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 29.0 |
Текущий режим экрана объекта Screen. Свойство mode указывает текущий режим экрана определенного устройства Screen.
Реализация
public function get mode():ScreenMode public function set mode(value:ScreenMode):void modes | свойство |
screens | свойство |
screens:Array [только для чтения] | Язык версии: | ActionScript 3. |
| Версии среды выполнения: | AIR 1.0 |
Массив доступных на данный момент экранов.
Модификация возвращенного массива не будет оказывать влияния на доступные экраны.
Реализация
public static function get screens():ArrayПример ( Использование этого примера )
var screenArray:Array = Screen.screens;
visibleBounds | свойство |
visibleBounds:Rectangle [только для чтения] | Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0 |
Границы области на данном экране, в которой будут отображаться окна.
В границы visibleBounds не входит панель задач (и другие панели рабочего стола) Windows, строка меню и, в зависимости от системных настроек, док в Mac OS X. В некоторых конфигурациях Linux видимые границы определить невозможно. В таких случаях свойство visibleBounds возвращает то же самое значение, что и свойство screenBounds.
Реализация
public function get visibleBounds():RectangleПример ( Использование этого примера )
import flash.display.Screen; import flash.geom.Rectangle; var mainScreen:Screen = Screen.mainScreen; var screenBounds:Rectangle = mainScreen.visibleBounds;
getScreensForRectangle | () | метод |
public static function getScreensForRectangle(rect:Rectangle):Array| Язык версии: | ActionScript 3.0 |
| Версии среды выполнения: | AIR 1.0 |
Возвращает набор экранов (возможно, пустой), пересекающих данный прямоугольник.
Параметры
rect:Rectangle — Прямоугольник с координатами относительно исходной точки виртуального рабочего стола, которая находится в верхнем левом углу главного экрана.
|
Array — Массив объектов Screen с экранами, содержащими любую часть области, определенной параметром rect.
|
Пример ( Использование этого примера )
import flash.display.Screen; import flash.geom.Rectangle; var rect:Rectangle = new Rectangle(-200, 100, 1000, 600); var intersectedScreens:Array = Screen.getScreensForRectangle(rect);
- Ответить на события клавиатуры, чтобы определить край экрана, к которому прикрепить окно.
- Обратиться к методу
getScreensForRectangle()статического класса Screen, чтобы получить объект Screen для экрана, на котором в данный момент отображается окно. - Изменить настройки границ окна в соответствии с размерами экрана.
- Обновить содержимое окна в соответствии с его новыми размерами.
Обратите внимание на то, что этот класс следует использовать как корневой класс приложения AIR с настройками SystemChrome="none" и transparent="true". Для использования этого класса в окне с системным Chrome необходимо учитывать толщину Chrome и минимальную ширину окна при вычислении расположения и размера окна.
package
{
import flash.display.Screen;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.KeyboardEvent;
import flash.geom.Rectangle;
import flash.ui.Keyboard;
public class DockingWindow extends Sprite
{
private const dockedWidth:uint = 80;
private const dockedHeight:uint = 80;
public function DockingWindow():void{
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.addEventListener(KeyboardEvent.KEY_DOWN,onKey);
dockLeft();
}
private function onKey(event:KeyboardEvent):void{
switch(event.keyCode){
case Keyboard.LEFT :
dockLeft();
break;
case Keyboard.RIGHT :
dockRight();
break;
case Keyboard.UP :
dockTop();
break;
case Keyboard.DOWN :
dockBottom();
break;
case Keyboard.SPACE :
stage.nativeWindow.close();
}
}
public function dockLeft():void{
var screen:Screen = getCurrentScreen();
stage.nativeWindow.x = screen.visibleBounds.left;
stage.nativeWindow.y = screen.visibleBounds.top;
stage.nativeWindow.height = screen.visibleBounds.height;
stage.stageWidth = dockedWidth;
drawContent();
}
public function dockRight():void{
var screen:Screen = getCurrentScreen();
stage.nativeWindow.x = screen.visibleBounds.width - dockedWidth;
stage.nativeWindow.y = screen.visibleBounds.top;
stage.stageWidth = dockedWidth;
stage.nativeWindow.height = screen.visibleBounds.height;
drawContent();
}
public function dockTop():void{
var screen:Screen = getCurrentScreen();
stage.nativeWindow.x = screen.visibleBounds.left;
stage.nativeWindow.y = screen.visibleBounds.top;
stage.nativeWindow.width = screen.visibleBounds.width;
stage.stageHeight = dockedHeight;
drawContent();
}
public function dockBottom():void{
var screen:Screen = getCurrentScreen();
stage.nativeWindow.x = screen.visibleBounds.left;
stage.nativeWindow.y = screen.visibleBounds.height - dockedHeight;
stage.nativeWindow.width = screen.visibleBounds.width;
stage.stageHeight = dockedHeight;
drawContent();
}
private function getCurrentScreen():Screen{
return Screen.getScreensForRectangle(stage.nativeWindow.bounds)[0];
}
private function drawContent():void{
const size:int = 60;
const pad:int = 10;
var numHSquares:int = Math.floor(stage.stageWidth/(size + pad));
var numVSquares:int = Math.floor(stage.stageHeight/(size + pad));
with (graphics){
clear();
lineStyle(1);
beginFill(0x3462d5,.7);
for(var i:int = 0; i < numHSquares; i++){
for(var j:int = 0; j < numVSquares; j++){
drawRect((i * (size + pad)) + pad, (j * (size + pad)) + pad, size, size);
}
}
endFill();
}
}
}
}
Tue Jun 12 2018, 11:34 AM Z
Скрыть унаследованные общедоступные свойства
Показать унаследованные общедоступные свойства