| 패키지 | flash.display |
| 클래스 | public final class Screen |
| 상속 | Screen EventDispatcher Object |
| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0 |
화면은 가능한 큰 "가상 데스크톱" 내에서 독립적인 데스크톱 영역입니다. 가상 데스크톱의 원점은 운영 체제 지정 기본 화면의 왼쪽 위 모서리입니다. 따라서 각 표시 화면의 경계에 대한 좌표는 음수일 수 있습니다. 표시 화면 내에 없는 가상 데스크톱의 영역도 있을 수 있습니다.
Screen 클래스에는 사용할 수 있는 screen 객체에 액세스하는 데 필요한 정적 클래스 멤버와 개별 화면의 속성에 액세스하는 데 필요한 인스턴스 멤버가 포함됩니다. 화면 정보는 사용자가 언제든지 변경할 수 있으므로 캐시되면 안 됩니다.
화면과 컴퓨터에 연결된 물리적인 모니터 간에 일대일 대응이 필수적이지는 않습니다. 예를 들어 두 개의 모니터가 동일한 화면을 표시할 수도 있습니다.
Screen 클래스는 직접 인스턴스화할 수 없습니다. new Screen() 생성자를 호출하면 ArgumentError 예외가 발생합니다.
| 속성 | 다음에 의해 정의됨 | ||
|---|---|---|---|
[읽기 전용] 이 화면의 경계입니다. | Screen | ||
[읽기 전용] 이 화면의 색상 심도(비트 수)입니다. | Screen | ||
![]() | constructor : Object 지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | |
[정적] [읽기 전용] 기본 표시입니다. | Screen | ||
![]() | prototype : Object [정적] 클래스 또는 함수 객체의 프로토타입 객체에 대한 참조입니다. | Object | |
[정적] [읽기 전용] 현재 사용 가능한 화면의 배열입니다. | Screen | ||
[읽기 전용] 윈도우가 표시될 이 화면에 있는 영역의 경계입니다. | Screen | ||
| 메서드 | 다음에 의해 정의됨 | ||
|---|---|---|---|
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다. | EventDispatcher | |
![]() | 이벤트를 이벤트 흐름으로 전달합니다. | EventDispatcher | |
[정적] 제공된 사각형을 교차하는 화면 집합을 반환합니다(비어 있을 수 있음). | Screen | ||
![]() | EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher | |
![]() | 지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | |
![]() | Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | |
![]() | 지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | |
![]() | EventDispatcher 객체에서 리스너를 제거합니다. | EventDispatcher | |
![]() | 루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | |
![]() | 지정된 객체의 문자열 표현을 반환합니다. | Object | |
![]() | 지정된 객체의 프리미티브 값을 반환합니다. | Object | |
![]() | 이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher | |
| 속성 |
bounds:Rectangle [읽기 전용] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0 |
이 화면의 경계입니다.
화면 위치는 가상 데스크톱에 대해 상대적입니다.
public function get bounds():Rectangleimport flash.display.Screen; import flash.geom.Rectangle; var mainScreen:Screen = Screen.mainScreen; var screenBounds:Rectangle = mainScreen.bounds;
| 속성 |
colorDepth:int [읽기 전용] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0 |
이 화면의 색상 심도(비트 수)입니다.
public function get colorDepth():intvar mainScreen:Screen = Screen.mainScreen; var colors:uint = mainScreen.colorDepth;
| 속성 |
mainScreen:Screen [읽기 전용] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0 |
기본 표시입니다.
public static function get mainScreen():Screenvar primaryScreen:Screen = Screen.mainScreen;
| 속성 |
screens:Array [읽기 전용] | 언어 버전: | ActionScript 3. |
| 런타임 버전: | AIR 1.0 |
현재 사용 가능한 화면의 배열입니다.
반환된 배열을 수정해도 사용할 수 있는 화면에 아무런 영향이 없습니다.
public static function get screens():Arrayvar screenArray:Array = Screen.screens;
| 속성 |
visibleBounds:Rectangle [읽기 전용] | 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0 |
윈도우가 표시될 이 화면에 있는 영역의 경계입니다.
화면의 visibleBounds에는 Windows의 작업 표시줄 및 다른 고정된 데스크 막대가 제외되고, Mac OS X의 메뉴 모음과 시스템 설정에 따라 도크가 제외됩니다. 일부 Linux 구성에서는 표시될 경계를 확인할 수 없습니다. 이러한 경우 visibleBounds 속성은 screenBounds 속성과 같은 값을 반환합니다.
public function get visibleBounds():Rectangleimport flash.display.Screen; import flash.geom.Rectangle; var mainScreen:Screen = Screen.mainScreen; var screenBounds:Rectangle = mainScreen.visibleBounds;
| () | 메서드 |
public static function getScreensForRectangle(rect:Rectangle):Array| 언어 버전: | ActionScript 3.0 |
| 런타임 버전: | AIR 1.0 |
제공된 사각형을 교차하는 화면 집합을 반환합니다(비어 있을 수 있음).
매개 변수
rect:Rectangle — 기본 화면의 왼쪽 위 모서리에 있는 가상 데스크톱의 원점을 기준으로 하는 좌표를 사용하는 사각형입니다. |
Array —
rect 매개 변수에 의해 정의된 영역의 임의 부분이 포함된 화면이 들어 있는 Screen 객체의 배열입니다.
|
import flash.display.Screen; import flash.geom.Rectangle; var rect:Rectangle = new Rectangle(-200, 100, 1000, 600); var intersectedScreens:Array = Screen.getScreensForRectangle(rect);
getScreensForRectangle()에 액세스하면 윈도우가 현재 표시된 화면에 대한 Screen 객체를 가져올 수 있습니다.
이 클래스는 SystemChrome="none" 및 transparent="true" 설정을 사용하여 AIR 응용 프로그램의 루트 클래스로 사용됩니다. 시스템 크롬이 있는 윈도우에 이 클래스를 사용하려면 윈도우 위치 및 크기를 계산할 때 윈도우의 크롬 두께와 최소 폭을 고려해야 합니다.
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();
}
}
}
}