Pakket | flash.display |
Klasse | public final class Screen |
Overerving | Screen EventDispatcher Object |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0 |
Schermen zijn onafhankelijke bureaubladgebieden binnen een mogelijk groter "virtueel bureaublad." De oorsprong van het virtuele bureaublad is de linkerbovenhoek van het door het besturingssysteem bepaalde hoofdscherm. De coördinaten voor de grenzen van een individueel weergavescherm kunnen dus negatief zijn. Er kunnen ook gebieden van het virtuele bureaublad zijn die zich niet binnen de weergaveschermen bevinden.
De klasse Screen bevat statische klasseleden die toegang moeten verkrijgen tot de beschikbare schermobjecten en instantieleden voor toegang tot de eigenschappen van een individueel scherm. Scherminformatie moet niet in de cache worden bewaard, aangezien deze op elk moment door een gebruiker kan worden gewijzigd.
Er is niet noodzakelijk een een-op-een verhouding tussen schermen en de fysieke beeldschermen die op een computer zijn aangesloten. Twee beeldschermen kunnen bijvoorbeeld hetzelfde scherm weergeven.
U kunt niet rechtstreeks een instantie van de klasse Screen maken. Oproepen aan de constructor new Screen()
geven een ArgumentError
-fout.
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
bounds : Rectangle [alleen-lezen]
De grenzen van dit scherm. | Screen | ||
colorDepth : int [alleen-lezen]
De kleurdiepte van dit scherm (uitgedrukt als een aantal bits). | Screen | ||
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object | ||
mainScreen : Screen [statisch] [alleen-lezen]
Het primaire scherm. | Screen | ||
mode : ScreenMode
De huidige schermmodus van het Screen-object. | Screen | ||
modes : Array [alleen-lezen]
De reeks van ScreenMode-objecten van Screen-object. | Screen | ||
screens : Array [statisch] [alleen-lezen]
De array van de momenteel beschikbare schermen. | Screen | ||
visibleBounds : Rectangle [alleen-lezen]
De grenzen van het gebied in dit scherm waarin vensters zichtbaar kunnen zijn. | Screen |
Methode | Gedefinieerd door | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registreert een gebeurtenislistenerobject bij een object EventDispatcher, zodat de listener een melding van een gebeurtenis ontvangt. | EventDispatcher | ||
Verzendt een gebeurtenis naar de gebeurtenisstroom. | EventDispatcher | ||
[statisch]
Retourneert de (mogelijk lege) set schermen die de gegeven rechthoek snijden. | Screen | ||
Controleert of het object EventDispatcher listeners heeft geregistreerd voor een specifiek type gebeurtenis. | EventDispatcher | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | Object | ||
Verwijdert een listener uit het object EventDispatcher. | EventDispatcher | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
Retourneert een tekenreeksrepresentatie van het opgegeven object. | Object | ||
Retourneert de primitieve waarde van het opgegeven object. | Object | ||
Controleert of een gebeurtenislistener is geregistreerd bij dit object EventDispatcher of een van de voorouders voor het opgegeven type gebeurtenis. | EventDispatcher |
bounds | eigenschap |
bounds:Rectangle
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0 |
De grenzen van dit scherm.
De schermlocatie staat in verhouding tot het virtuele bureaublad.
Op Linux-systemen die bepaalde venstermanagers gebruiken, retourneert deze eigenschap de bureaubladbegrenzingen en niet de zichtbare begrenzingen van het scherm.
Implementatie
public function get bounds():Rectangle
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
import flash.display.Screen; import flash.geom.Rectangle; var mainScreen:Screen = Screen.mainScreen; var screenBounds:Rectangle = mainScreen.bounds;
colorDepth | eigenschap |
colorDepth:int
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0 |
De kleurdiepte van dit scherm (uitgedrukt als een aantal bits).
Implementatie
public function get colorDepth():int
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
var mainScreen:Screen = Screen.mainScreen; var colors:uint = mainScreen.colorDepth;
mainScreen | eigenschap |
mainScreen:Screen
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0 |
Het primaire scherm.
Implementatie
public static function get mainScreen():Screen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
var primaryScreen:Screen = Screen.mainScreen;
mode | eigenschap |
mode:ScreenMode
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 29.0 |
De huidige schermmodus van het Screen-object. De eigenschap mode
geeft de huidige schermmodus aan van een specifiek schermapparaat.
Implementatie
public function get mode():ScreenMode
public function set mode(value:ScreenMode):void
modes | eigenschap |
screens | eigenschap |
screens:Array
[alleen-lezen] Taalversie: | ActionScript 3. |
Runtimeversies: | AIR 1.0 |
De array van de momenteel beschikbare schermen.
Als u de resulterende array wijzigt, heeft dit geen gevolgen voor de beschikbare schermen.
Implementatie
public static function get screens():Array
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
var screenArray:Array = Screen.screens;
visibleBounds | eigenschap |
visibleBounds:Rectangle
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0 |
De grenzen van het gebied in dit scherm waarin vensters zichtbaar kunnen zijn.
In Windows zijn de taakbalk (en andere gekoppelde bureaubladbalken) niet opgenomen in de visibleBounds
van een scherm en voor Mac OS X zijn de menubalk en het Dock (afhankelijk van de systeeminstellingen) hierin niet opgenomen. Bij sommige Linux-configuraties is het niet mogelijk de zichtbare grenzen te bepalen. In deze gevallen retourneert de eigenschap visibleBounds
dezelfde waarde als de eigenschap screenBounds
.
Implementatie
public function get visibleBounds():Rectangle
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
import flash.display.Screen; import flash.geom.Rectangle; var mainScreen:Screen = Screen.mainScreen; var screenBounds:Rectangle = mainScreen.visibleBounds;
getScreensForRectangle | () | methode |
public static function getScreensForRectangle(rect:Rectangle):Array
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0 |
Retourneert de (mogelijk lege) set schermen die de gegeven rechthoek snijden.
Parameters
rect:Rectangle — Een rechthoek met coördinaten ten opzichte van de oorsprong van het virtuele bureaublad, dat de linkerbovenhoek is van het primaire scherm.
|
Array — Een array van Screen-objecten met de schermen die een deel van het gebied bevatten dat is gedefinieerd door de parameter rect .
|
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
import flash.display.Screen; import flash.geom.Rectangle; var rect:Rectangle = new Rectangle(-200, 100, 1000, 600); var intersectedScreens:Array = Screen.getScreensForRectangle(rect);
- Reageren op toetsenbordgebeurtenissen om te bepalen aan welke kant moet worden gekoppeld.
- Toegang verkrijgen tot de statische methode
getScreensForRectangle()
van de klasse Screen om het Screen-object voor het scherm op te halen waarop het huidige venster momenteel wordt weergegeven. - De venstergrenzen opnieuw instellen op basis van de afmetingen van het scherm.
- De inhoud van het venster opnieuw tekenen op basis van de afmetingen van het nieuwe venster.
Het is de bedoeling dat deze klasse wordt gebruikt als de hoofdklasse van een AIR-toepassing met de instellingen SystemChrome="none"
en transparent="true"
. Als u deze klasse wilt gebruiken in een venster met systeemchroom, moet u rekening houden met de dikte van het chroom en de minimale breedte van het venster wanneer u de locatie en de grootte berekent.
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:42 AM Z