Pacchetto | flash.display |
Classe | public final class Screen |
Ereditarietà | Screen EventDispatcher Object |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
Le schermate sono aree del desktop indipendenti all'interno di un "desktop virtuale" di dimensioni possibilmente maggiori. L'origine del desktop virtuale è l'angolo superiore sinistro della schermata principale designata dal sistema operativo. Pertanto, le coordinate dei limiti di una schermata di visualizzazione singola possono essere negative. Possono anche essere presenti delle aree del desktop virtuale che non si trovano all'interno delle schermate di visualizzazione.
La classe Screen include i membri di classe statici per accedere agli oggetti schermo disponibili e dei membri di istanza per accedere alle proprietà di una singola schermata. Le informazioni sulla schermata non devono essere memorizzate nella cache, poiché possono essere modificate da un utente in qualsiasi momento.
Non è necessariamente presente una corrispondenza 1 a 1 tra le schermate e i monitor fisici collegati a un computer. Ad esempio, è possibile che due monitor visualizzino la stessa schermata.
Non è possibile creare direttamente un'istanza della classe Screen. Le chiamate a una funzione di costruzione new Screen()
generano un'eccezione ArgumentError
.
Altri esempi
Proprietà | Definito da | ||
---|---|---|---|
bounds : Rectangle [sola lettura]
I limiti di questa schermata. | Screen | ||
colorDepth : int [sola lettura]
La profondità colore di questa schermata (espressa in numero di bit). | Screen | ||
constructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto. | Object | ||
mainScreen : Screen [statico] [sola lettura]
La schermata principale. | Screen | ||
mode : ScreenMode
La modalità di schermata corrente dell’oggetto Screen. | Screen | ||
modes : Array [sola lettura]
L’array di oggetti ScreenMode dell’oggetto Screen. | Screen | ||
screens : Array [statico] [sola lettura]
L'array di schermate attualmente disponibili. | Screen | ||
visibleBounds : Rectangle [sola lettura]
I limiti dell'area di questa schermata entro i quali le finestre possono essere visibili. | Screen |
Metodo | Definito da | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un oggetto listener di eventi con un oggetto EventDispatcher, in modo che il listener riceva la notifica di un evento. | EventDispatcher | ||
Invia un evento nel flusso di eventi. | EventDispatcher | ||
[statico]
Restituisce la serie (eventualmente vuota) di schermate che si intersecano con il rettangolo specificato. | Screen | ||
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento. | EventDispatcher | ||
Indica se per un oggetto è definita una proprietà specifica. | Object | ||
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
Rimuove un listener dall'oggetto EventDispatcher. | EventDispatcher | ||
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | ||
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | ||
Restituisce la rappresentazione in formato stringa dell'oggetto specificato. | Object | ||
Restituisce il valore di base dell'oggetto specificato. | Object | ||
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato. | EventDispatcher |
bounds | proprietà |
bounds:Rectangle
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
I limiti di questa schermata.
La posizione della schermata è relativa al desktop virtuale.
Nei sistemi Linux che utilizzano determinati gestori di finestre, questa proprietà restituisce i limiti del desktop, non i limiti visibili dello schermo.
Implementazione
public function get bounds():Rectangle
Esempio ( Come utilizzare questo esempio )
import flash.display.Screen; import flash.geom.Rectangle; var mainScreen:Screen = Screen.mainScreen; var screenBounds:Rectangle = mainScreen.bounds;
colorDepth | proprietà |
colorDepth:int
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
La profondità colore di questa schermata (espressa in numero di bit).
Implementazione
public function get colorDepth():int
Esempio ( Come utilizzare questo esempio )
var mainScreen:Screen = Screen.mainScreen; var colors:uint = mainScreen.colorDepth;
mainScreen | proprietà |
mainScreen:Screen
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
La schermata principale.
Implementazione
public static function get mainScreen():Screen
Esempio ( Come utilizzare questo esempio )
var primaryScreen:Screen = Screen.mainScreen;
mode | proprietà |
mode:ScreenMode
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 29.0 |
La modalità di schermata corrente dell’oggetto Screen. La proprietà mode
indica la modalità di schermata corrente per uno specifico dispositivo Screen.
Implementazione
public function get mode():ScreenMode
public function set mode(value:ScreenMode):void
modes | proprietà |
screens | proprietà |
screens:Array
[sola lettura] Versione linguaggio: | ActionScript 3. |
Versioni runtime: | AIR 1.0 |
L'array di schermate attualmente disponibili.
La modifica dell'array restituito non ha effetto sulle schermate disponibili.
Implementazione
public static function get screens():Array
Esempio ( Come utilizzare questo esempio )
var screenArray:Array = Screen.screens;
visibleBounds | proprietà |
visibleBounds:Rectangle
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
I limiti dell'area di questa schermata entro i quali le finestre possono essere visibili.
La proprietà visibleBounds
di una schermata esclude la barra delle applicazioni (e altre barre agganciate della scrivania) in Windows, mentre esclude la barra dei menu e, a seconda delle impostazioni di sistema, il dock in Mac OS X. In alcune configurazioni Linux, non è possibile determinare i limiti visibili. In tali casi, la proprietà visibleBounds
restituisce lo stesso valore della proprietà screenBounds
.
Implementazione
public function get visibleBounds():Rectangle
Esempio ( Come utilizzare questo esempio )
import flash.display.Screen; import flash.geom.Rectangle; var mainScreen:Screen = Screen.mainScreen; var screenBounds:Rectangle = mainScreen.visibleBounds;
getScreensForRectangle | () | metodo |
public static function getScreensForRectangle(rect:Rectangle):Array
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0 |
Restituisce la serie (eventualmente vuota) di schermate che si intersecano con il rettangolo specificato.
Parametri
rect:Rectangle — Un rettangolo con le coordinate relative all'origine del desktop virtuale, cioè l'angolo superiore sinistro della schermata principale.
|
Array — Un array di oggetti Screen che comprende le schermate che contengono una parte qualunque dell'area definita dal parametro rect .
|
Esempio ( Come utilizzare questo esempio )
import flash.display.Screen; import flash.geom.Rectangle; var rect:Rectangle = new Rectangle(-200, 100, 1000, 600); var intersectedScreens:Array = Screen.getScreensForRectangle(rect);
- Risposta agli eventi di tastiera per determinare a quale lato dello schermo viene agganciata.
- Accesso al metodo statico
getScreensForRectangle()
della classe Screen per ottenere l'oggetto Screen per la schermata al di sopra della quale è attualmente visualizzata la finestra. - Ripristino dei limiti della finestra in base alle dimensioni dello schermo.
- Ridisegno del contenuto della finestra in base alle nuove dimensioni della finestra.
Questa classe è destinata a essere utilizzata come classe principale di un'applicazione AIR con le impostazioni SystemChrome="none"
e transparent="true"
. Per utilizzare questa classe in una finestra con chrome di sistema, quando calcolate la posizione e la dimensione della finestra dovete tenere in considerazione lo spessore del chrome e la larghezza minima della finestra.
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, 02:44 PM Z