Pacote | flash.display |
Classe | public final class Screen |
Herança | Screen EventDispatcher Object |
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
As telas são áreas independentes da área de trabalho dentro de uma "área de trabalho virtual" possivelmente maior. A origem da área de trabalho virtual é o canto superior esquerdo da tela principal designada pelo sistema operacional. Portanto, as coordenadas dos limites de uma tela de exibição individual podem ser negativas. Também pode haver áreas da área de trabalho virtual que não estejam dentro de nenhuma das telas de exibição.
A classe Screen inclui membros da classe estática para acessar os objetos de tela disponíveis e membros da ocorrência para acessar as propriedades de uma tela individual. As informações de tela não devem ser armazenadas em cache, pois podem ser alteradas pelo usuário a qualquer momento.
Observe que não há necessariamente nenhuma correspondência individualizada entre cenas e os monitores físicos conectados ao computador. Por exemplo, dois monitores podem exibir a mesma tela.
Não é possível criar uma ocorrência da classe Screen diretamente. As chamadas para o construtor new Screen()
lançam uma exceção ArgumentError
.
Propriedade | Definido por | ||
---|---|---|---|
bounds : Rectangle [somente leitura]
Os limites desta tela. | Screen | ||
colorDepth : int [somente leitura]
A profundidade de cores desta tela (expressa em número de bits). | Screen | ||
constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object | ||
mainScreen : Screen [estático] [somente leitura]
A exibição principal. | Screen | ||
mode : ScreenMode
O modo de tela atual do objeto Tela. | Screen | ||
modes : Array [somente leitura]
A matriz de objetos ScreenMode do objeto de Tela. | Screen | ||
screens : Array [estático] [somente leitura]
A matriz das telas disponíveis atualmente. | Screen | ||
visibleBounds : Rectangle [somente leitura]
Os limites da área desta tela nos quais as janelas podem estar visíveis. | Screen |
Método | Definido por | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra um objeto de ouvinte de evento em um objeto EventDispatcher, de forma que o ouvinte receba a notificação de um evento. | EventDispatcher | ||
Envia um evento para o fluxo de eventos. | EventDispatcher | ||
[estático]
Retorna o conjunto (possivelmente vazio) de telas que fazem interseção com o retângulo apresentado. | Screen | ||
Verifica se o objeto EventDispatcher tem ouvintes registrados para um tipo específico de evento. | EventDispatcher | ||
Indica se um objeto tem uma propriedade especificada definida. | Object | ||
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro. | Object | ||
Indica se a propriedade especificada existe e é enumerável. | Object | ||
Remove um ouvinte do objeto EventDispatcher. | EventDispatcher | ||
Define a disponibilidade de uma propriedade dinâmica para operações de repetição. | Object | ||
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade. | Object | ||
Retorna a representação de string do objeto especificado. | Object | ||
Retorna o valor primitivo do objeto especificado. | Object | ||
Verifica se um ouvinte de evento está registrado nesse objeto EventDispatcher ou em qualquer um de seus ancestrais para o tipo de evento especificado. | EventDispatcher |
bounds | propriedade |
bounds:Rectangle
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Os limites desta tela.
A localização da tela se refere à área de trabalho virtual.
Em sistemas Linux que usam certos gerenciadores de janela, esta propriedade retorna os limites da área de trabalho, não os limites visíveis da tela.
Implementação
public function get bounds():Rectangle
Exemplo ( Como usar este exemplo )
import flash.display.Screen; import flash.geom.Rectangle; var mainScreen:Screen = Screen.mainScreen; var screenBounds:Rectangle = mainScreen.bounds;
colorDepth | propriedade |
colorDepth:int
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
A profundidade de cores desta tela (expressa em número de bits).
Implementação
public function get colorDepth():int
Exemplo ( Como usar este exemplo )
var mainScreen:Screen = Screen.mainScreen; var colors:uint = mainScreen.colorDepth;
mainScreen | propriedade |
mainScreen:Screen
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
A exibição principal.
Implementação
public static function get mainScreen():Screen
Exemplo ( Como usar este exemplo )
var primaryScreen:Screen = Screen.mainScreen;
mode | propriedade |
mode:ScreenMode
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 29.0 |
O modo de tela atual do objeto Tela. A propriedade modo
indica o modo de tela atual de um dispositivo de Tela específico.
Implementação
public function get mode():ScreenMode
public function set mode(value:ScreenMode):void
modes | propriedade |
screens | propriedade |
screens:Array
[somente leitura] Versão da linguagem: | ActionScript 3. |
Versões de runtime: | AIR 1.0 |
A matriz das telas disponíveis atualmente.
Modificar a matriz retornada não tem efeito sobre as telas disponíveis.
Implementação
public static function get screens():Array
Exemplo ( Como usar este exemplo )
var screenArray:Array = Screen.screens;
visibleBounds | propriedade |
visibleBounds:Rectangle
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Os limites da área desta tela nos quais as janelas podem estar visíveis.
Os visibleBounds
de uma tela excluem a barra de tarefas (e outras barras encaixadas) no Windows e exclui a barra de menu e, dependendo das configurações do sistema, os encaixes no Mac OS X. Em algumas configurações do Linux, não é possível determinar os limites visíveis. Nesses casos, a propriedade visibleBounds
retornará o mesmo valor da propriedade screenBounds
.
Implementação
public function get visibleBounds():Rectangle
Exemplo ( Como usar este exemplo )
import flash.display.Screen; import flash.geom.Rectangle; var mainScreen:Screen = Screen.mainScreen; var screenBounds:Rectangle = mainScreen.visibleBounds;
getScreensForRectangle | () | método |
public static function getScreensForRectangle(rect:Rectangle):Array
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0 |
Retorna o conjunto (possivelmente vazio) de telas que fazem interseção com o retângulo apresentado.
Parâmetros
rect:Rectangle — Um retângulo com coordenadas relativas à origem da área de trabalho virtual, que é o canto superior esquerdo da tela principal.
|
Array — Uma matriz de objetos Screen contendo as telas que contêm qualquer parte da área definida pelo parâmetro rect .
|
Exemplo ( Como usar este exemplo )
import flash.display.Screen; import flash.geom.Rectangle; var rect:Rectangle = new Rectangle(-200, 100, 1000, 600); var intersectedScreens:Array = Screen.getScreensForRectangle(rect);
- Responder a eventos keyboard para determinar o lado da tela a ser encaixado.
- Acessar o método de classe estática Screen
getScreensForRectangle()
para obter o objeto Screen da tela em que a janela é exibida no momento. - Redefinir os limites da janela com base nas dimensões de tela.
- Redesenhar o conteúdo da janela com base nas dimensões da nova janela.
Observe que esta classe se destina a ser usada como a classe raiz de um aplicativo AIR com as configuraçõesSystemChrome="none"
e transparent="true"
. Para usar esta classe em uma janela com cromo do sistema, você tem que levar em conta a espessura e a largura mínima da janela ao calcular o local e o tamanho da janela.
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(); } } } }
Wed Jun 13 2018, 11:10 AM Z