Paket | flash.display |
Klass | public final class Screen |
Arv | Screen EventDispatcher Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Skärmar är oberoende skrivbordsområden inom ett möjligt större ”virtuellt skrivbord”. Referenspunkten för det virtuella skrivbordet är det övre vänstra hörnet i den huvudskärm som har tilldelats av operativsystemet. Koordinaterna för en enskild visningsskärms gränser kan alltså vara negativa. Det kan också finnas områden på skrivbordet som inte ligger inom någon av visningsskärmarna.
Screen-klassen innehåller statiska klassmedlemmar för att komma åt tillgängliga skärmobjekt, och instansmedlemmar för att komma åt egenskaper i en enskild bildskärm. Skärminformationen ska inte cache-lagras eftersom den kan ändras av en användare när som helst.
Observera att det inte nödvändigtvis råder ett ett-till-ett-förhållande mellan skärmar och fysiska monitorer som är kopplade till en dator. Olika monitorer kan till exempel visa samma skärm.
Du kan inte instansiera Screen-klassen direkt. Anrop till new Screen()
-konstruktorn orsakar ett ArgumentError
-fel.
Egenskap | Definieras med | ||
---|---|---|---|
bounds : Rectangle [skrivskyddad]
Gränserna för denna skärm. | Screen | ||
colorDepth : int [skrivskyddad]
Färgdjupet på denna skärm (i antal bitar). | Screen | ||
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
mainScreen : Screen [statisk] [skrivskyddad]
Primär skärm. | Screen | ||
mode : ScreenMode
Det aktuella skärmläget i Screen-objektet. | Screen | ||
modes : Array [skrivskyddad]
Arrayen av ScreenMode-objekt i Screen-objektet. | Screen | ||
screens : Array [statisk] [skrivskyddad]
Arrayen med skärmar som är tillgängliga för tillfället. | Screen | ||
visibleBounds : Rectangle [skrivskyddad]
Gränserna för det område på den här skärmen inom vilka fönster är synliga. | Screen |
Metod | Definieras med | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registrerar ett händelseavlyssnarobjekt för ett EventDispatcher-objekt så att avlyssnaren får meddelanden om händelser. | EventDispatcher | ||
Skickar en händelse till händelseflödet. | EventDispatcher | ||
[statisk]
Returnerar (den möjligtvis tomma) mängden skärmar som korsar den angivna rektangeln. | Screen | ||
Kontrollerar om EventDispatcher-objektet har några avlyssnare registrerade för en viss typ av händelse. | EventDispatcher | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Tar bort en avlyssnare från EventDispatcher-objektet. | EventDispatcher | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Returnerar det angivna objektets strängbeteckning. | Object | ||
Returnerar det angivna objektets primitiva värde. | Object | ||
Kontrollerar om en händelseavlyssnare är registrerad för det här EventDispatcher-objektet eller något av dess överordnade objekt för den angivna händelsetypen. | EventDispatcher |
bounds | egenskap |
bounds:Rectangle
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Gränserna för denna skärm.
Skärmplaceringen i förhållande till det virtuella skrivbordet.
Den här egenskapen returnerar skrivbordets gränser, inte skärmens synliga gränser i Linux-system som använder vissa fönsterhanterare.
Implementering
public function get bounds():Rectangle
Exempel ( Så här använder du exemplet )
import flash.display.Screen; import flash.geom.Rectangle; var mainScreen:Screen = Screen.mainScreen; var screenBounds:Rectangle = mainScreen.bounds;
colorDepth | egenskap |
colorDepth:int
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Färgdjupet på denna skärm (i antal bitar).
Implementering
public function get colorDepth():int
Exempel ( Så här använder du exemplet )
var mainScreen:Screen = Screen.mainScreen; var colors:uint = mainScreen.colorDepth;
mainScreen | egenskap |
mainScreen:Screen
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Primär skärm.
Implementering
public static function get mainScreen():Screen
Exempel ( Så här använder du exemplet )
var primaryScreen:Screen = Screen.mainScreen;
mode | egenskap |
mode:ScreenMode
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 29.0 |
Det aktuella skärmläget i Screen-objektet. Egenskapen mode
anger det aktuella skärmläget för en viss visningsenhet.
Implementering
public function get mode():ScreenMode
public function set mode(value:ScreenMode):void
modes | egenskap |
screens | egenskap |
screens:Array
[skrivskyddad] Språkversion: | ActionScript 3. |
Körningsmiljöversioner: | AIR 1.0 |
Arrayen med skärmar som är tillgängliga för tillfället.
Att ändra den returnerade matrisen påverkar inte tillgängliga skärmar.
Implementering
public static function get screens():Array
Exempel ( Så här använder du exemplet )
var screenArray:Array = Screen.screens;
visibleBounds | egenskap |
visibleBounds:Rectangle
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Gränserna för det område på den här skärmen inom vilka fönster är synliga.
Egenskapen visibleBounds
för en skärm utelämnar Aktivitetsfältet (och andra dockade skrivbordsfält) i Windows, och utelämnar menyraden och, beroende på systeminställningarna, dockan i Mac OS X. I vissa Linux-konfigurationer går det inte att ta reda på de synliga gränserna. I dessa fall returnerar egenskapen visibleBounds
samma värde som egenskapen screenBounds
.
Implementering
public function get visibleBounds():Rectangle
Exempel ( Så här använder du exemplet )
import flash.display.Screen; import flash.geom.Rectangle; var mainScreen:Screen = Screen.mainScreen; var screenBounds:Rectangle = mainScreen.visibleBounds;
getScreensForRectangle | () | metod |
public static function getScreensForRectangle(rect:Rectangle):Array
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0 |
Returnerar (den möjligtvis tomma) mängden skärmar som korsar den angivna rektangeln.
Parametrar
rect:Rectangle — En rektangel med koordinater i förhållande till det virtuella skrivbordets referenspunkt, som är det övre vänstra hörnet på huvudskärmen.
|
Array — En array med Screen-objekt som innehåller de skärmar som innehåller något område som definieras av rect -parametern.
|
Exempel ( Så här använder du exemplet )
import flash.display.Screen; import flash.geom.Rectangle; var rect:Rectangle = new Rectangle(-200, 100, 1000, 600); var intersectedScreens:Array = Screen.getScreensForRectangle(rect);
- Tangentbordshändelser avgör på vilken sida av skärmen som dockningen sker.
- Komma åt den statiska Screen-klassmetoden
getScreensForRectangle()
för att hämta Screen-objektet för skärmen som fönstret för närvarande visas på. - Återställa fönstergränserna baserat på skärmdimensionerna.
- Rita om fönsterinehåll baserat på de nya fönsterdimensionerna.
Obervera att denna klass är avsedd för att användas som rotklass till ett AIR-program med inställningarna SystemChrome="none"
och transparent="true"
. Om du vill använda den här klassen i ett fönster med systemfärg måste du ta hänsyn till systemfärgens tjocklek och minsta fönsterbredd när du beräknar fönstrets placering och storlek.
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, 01:40 PM Z