Package | flash.display |
Classe | public final class Screen |
Héritage | Screen EventDispatcher Object |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Les écrans sont des zones de bureau indépendantes au sein d’un « bureau virtuel » si possible plus grand. L’origine du bureau virtuel est l’angle supérieur gauche de l’écran principal conçu par le système d’exploitation. Par conséquent, les coordonnées pour les limites d’un écran d’affichage individuel peuvent être négatives. Il peut également y avoir des zones du bureau virtuel situées en dehors des écrans d’affichage.
La classe Screen comprend des membres de classe statiques permettant d’accéder aux objets screen disponibles et des membres d’occurrence permettant d’accéder aux propriétés d’un écran individuel. Les informations d’écran ne doivent pas être mises en mémoire cache car un utilisateur peut les modifier à tout moment.
Il n’existe pas forcément de correspondance univoque entre des écrans et les moniteurs physiques raccordés à un ordinateur. Par exemple, deux moniteurs peuvent afficher le même écran.
Il est impossible d’instancier directement la classe Screen. Les appels au constructeur new Screen()
renvoient une exception ArgumentError
.
Plus d’exemples
Propriété | Défini par | ||
---|---|---|---|
bounds : Rectangle [lecture seule]
Limites de cet écran. | Screen | ||
colorDepth : int [lecture seule]
Profondeur des couleurs de cet écran (en nombre de bits). | Screen | ||
constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. | Object | ||
mainScreen : Screen [statique] [lecture seule]
L’écran principal. | Screen | ||
mode : ScreenMode
Le mode menu actuel de l'objet d'écran. | Screen | ||
modes : Array [lecture seule]
Le choix d'objets de ScreenMode de l'objet d'écran. | Screen | ||
screens : Array [statique] [lecture seule]
Tableau des écrans actuellement disponibles. | Screen | ||
visibleBounds : Rectangle [lecture seule]
Limites de la zone de cet écran dans lesquelles les fenêtres peuvent être visibles. | Screen |
Méthode | Défini par | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement. | EventDispatcher | ||
Distribue un événement dans le flux d’événements. | EventDispatcher | ||
[statique]
Renvoie l’ensemble (éventuellement vide) d’écrans qui croisent le rectangle fourni. | Screen | ||
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement. | EventDispatcher | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. | Object | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Supprime un écouteur de l’objet EventDispatcher. | EventDispatcher | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
Renvoie la représentation sous forme de chaîne de l’objet spécifié. | Object | ||
Renvoie la valeur primitive de l’objet spécifié. | Object | ||
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié. | EventDispatcher |
bounds | propriété |
bounds:Rectangle
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Limites de cet écran.
L’emplacement de l’écran est relatif au bureau virtuel.
Sur les systèmes Linux qui utilisent certains gestionnaires de fenêtres, cette propriété renvoie les limites du bureau et non les limites visibles de l’écran.
Implémentation
public function get bounds():Rectangle
Exemple ( Comment utiliser cet exemple )
import flash.display.Screen; import flash.geom.Rectangle; var mainScreen:Screen = Screen.mainScreen; var screenBounds:Rectangle = mainScreen.bounds;
colorDepth | propriété |
colorDepth:int
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Profondeur des couleurs de cet écran (en nombre de bits).
Implémentation
public function get colorDepth():int
Exemple ( Comment utiliser cet exemple )
var mainScreen:Screen = Screen.mainScreen; var colors:uint = mainScreen.colorDepth;
mainScreen | propriété |
mainScreen:Screen
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
L’écran principal.
Implémentation
public static function get mainScreen():Screen
Exemple ( Comment utiliser cet exemple )
var primaryScreen:Screen = Screen.mainScreen;
mode | propriété |
mode:ScreenMode
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 29.0 |
Le mode menu actuel de l'objet d'écran. La propriété
de mode indique le mode menu actuel d'un dispositif spécifique d'écran.
Implémentation
public function get mode():ScreenMode
public function set mode(value:ScreenMode):void
modes | propriété |
screens | propriété |
screens:Array
[lecture seule] Version du langage: | ActionScript 3. |
Versions du moteur d’exécution: | AIR 1.0 |
Tableau des écrans actuellement disponibles.
La modification du tableau renvoyé n’a aucune incidence sur les écrans disponibles.
Implémentation
public static function get screens():Array
Exemple ( Comment utiliser cet exemple )
var screenArray:Array = Screen.screens;
visibleBounds | propriété |
visibleBounds:Rectangle
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Limites de la zone de cet écran dans lesquelles les fenêtres peuvent être visibles.
La propriété visibleBounds
d’un écran exclut la barre des tâches (et autres barres fixes du bureau) sous Windows, et sous Mac OS X, la barre de menu ainsi que le Dock selon les paramètres système. Certaines configurations sous Linux ne permettent pas de déterminer les limites visibles. Dans ce cas, la propriété visibleBounds
renvoie les mêmes valeurs que la propriété screenBounds
.
Implémentation
public function get visibleBounds():Rectangle
Exemple ( Comment utiliser cet exemple )
import flash.display.Screen; import flash.geom.Rectangle; var mainScreen:Screen = Screen.mainScreen; var screenBounds:Rectangle = mainScreen.visibleBounds;
getScreensForRectangle | () | méthode |
public static function getScreensForRectangle(rect:Rectangle):Array
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0 |
Renvoie l’ensemble (éventuellement vide) d’écrans qui croisent le rectangle fourni.
Paramètres
rect:Rectangle — Rectangle avec des coordonnées par rapport à l’origine du bureau virtuel, c’est-à-dire l’angle supérieur gauche de l’écran principal.
|
Array — Tableau d’objets Screen qui contient les écrans comportant une partie de la zone définie par le paramètre rect .
|
Exemple ( Comment utiliser cet exemple )
import flash.display.Screen; import flash.geom.Rectangle; var rect:Rectangle = new Rectangle(-200, 100, 1000, 600); var intersectedScreens:Array = Screen.getScreensForRectangle(rect);
- En répondant aux événements de clavier pour déterminer sur quel côté de l’écran fixer la fenêtre.
- En accédant à la méthode de la classe Screen statique
getScreensForRectangle()
pour obtenir l’objet Screen pour l’écran sur lequel la fenêtre est actuellement affichée. - En redéfinissant les limites de la fenêtre selon les dimensions de l’écran.
- En retraçant le contenu de la fenêtre en fonction des nouvelles dimensions de la fenêtre.
Cette classe ne doit pas être utilisée comme classe racine d’une application AIR avec les paramètres SystemChrome="none"
et transparent="true"
. Pour utiliser cette classe dans une fenêtre avec chrome système, vous devez tenir compte de l’épaisseur du chrome et de la largeur minimale de la fenêtre lorsque vous calculez l’emplacement et la taille de cette dernière.
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, 09:30 AM Z