패키지 | flash.display |
클래스 | public final class Screen |
상속 | Screen EventDispatcher Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
화면은 가능한 큰 "가상 데스크톱" 내에서 독립적인 데스크톱 영역입니다. 가상 데스크톱의 원점은 운영 체제 지정 기본 화면의 왼쪽 위 모서리입니다. 따라서 각 표시 화면의 경계에 대한 좌표는 음수일 수 있습니다. 표시 화면 내에 없는 가상 데스크톱의 영역도 있을 수 있습니다.
Screen 클래스에는 사용할 수 있는 screen 객체에 액세스하는 데 필요한 정적 클래스 멤버와 개별 화면의 속성에 액세스하는 데 필요한 인스턴스 멤버가 포함됩니다. 화면 정보는 사용자가 언제든지 변경할 수 있으므로 캐시되면 안 됩니다.
화면과 컴퓨터에 연결된 물리적인 모니터 간에 일대일 대응이 필수적이지는 않습니다. 예를 들어 두 개의 모니터가 동일한 화면을 표시할 수도 있습니다.
Screen 클래스는 직접 인스턴스화할 수 없습니다. new Screen()
생성자를 호출하면 ArgumentError
예외가 발생합니다.
속성 | 정의 주체 | ||
---|---|---|---|
bounds : Rectangle [읽기 전용]
이 화면의 경계입니다. | Screen | ||
colorDepth : int [읽기 전용]
이 화면의 색상 심도(비트 수)입니다. | Screen | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
mainScreen : Screen [정적] [읽기 전용]
기본 표시입니다. | Screen | ||
mode : ScreenMode
Screen 객체의 현재 화면 모드입니다. | Screen | ||
modes : Array [읽기 전용]
Screen 객체의 ScreenMode 객체 배열입니다. | Screen | ||
screens : Array [정적] [읽기 전용]
현재 사용 가능한 화면의 배열입니다. | Screen | ||
visibleBounds : Rectangle [읽기 전용]
이 스크린에서 윈도우를 표시할 수 있는 영역의 경계입니다. | 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 | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object | ||
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher |
bounds | 속성 |
bounds:Rectangle
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
이 화면의 경계입니다.
화면 위치는 가상 데스크톱에 대해 상대적입니다.
특정 윈도우 관리자를 사용하는 Linux 시스템에서 이 속성은 눈에 보이는 스크린 경계가 아니라 데스크톱 경계를 반환합니다.
구현
public function get bounds():Rectangle
예제 ( 예제 사용 방법 )
import flash.display.Screen; import flash.geom.Rectangle; var mainScreen:Screen = Screen.mainScreen; var screenBounds:Rectangle = mainScreen.bounds;
colorDepth | 속성 |
mainScreen | 속성 |
mode | 속성 |
mode:ScreenMode
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 29.0 |
Screen 객체의 현재 화면 모드입니다. mode
속성은 특정 Screen 장치의 현재 화면 모드를 나타냅니다.
구현
public function get mode():ScreenMode
public function set mode(value:ScreenMode):void
modes | 속성 |
screens | 속성 |
visibleBounds | 속성 |
visibleBounds:Rectangle
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
이 스크린에서 윈도우를 표시할 수 있는 영역의 경계입니다.
스크린의 visibleBounds
에는 Windows의 작업 표시줄 및 다른 고정된 데스크 막대가 제외되고, Mac OS X의 메뉴 모음과 시스템 설정에 따라 도크가 제외됩니다. 일부 Linux 구성에서는 표시될 경계를 확인할 수 없습니다. 이러한 경우 visibleBounds
속성은 screenBounds
속성과 동일한 값을 반환합니다.
구현
public function get visibleBounds():Rectangle
예제 ( 예제 사용 방법 )
import flash.display.Screen; import flash.geom.Rectangle; var mainScreen:Screen = Screen.mainScreen; var screenBounds:Rectangle = mainScreen.visibleBounds;
getScreensForRectangle | () | 메서드 |
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);
- 키보드 이벤트에 응답하여 고정할 화면의 가장자리를 결정합니다.
- 정적 Screen 클래스 메서드
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(); } } } }
Tue Jun 12 2018, 03:17 PM Z