패키지 | flash.events |
클래스 | public class KeyboardEvent |
상속 | KeyboardEvent Event Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
KeyboardEvent.KEY_DOWN
유형과 KeyboardEvent.KEY_UP
유형이 있습니다.
키와 특정 문자 간의 매핑은 장치 및 운영 체제에 따라 다르므로 문자 입력 처리에는 TextEvent 이벤트 유형을 사용해야 합니다.
키 이벤트를 전역적으로 수신하려면 Stage에서 캡처 단계 및 대상 또는 버블링 단계를 수신합니다.
기타 예제
Handling keyboard events
Understanding the keyCode and charCode properties
Understanding KeyboardEvent precedence
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
altKey : Boolean
Windows에서는 Alt 키가 활성 상태(true)인지 비활성 상태(false)인지를 나타내며 Mac OS에서는 Option 키가 활성 상태인지를 나타냅니다. | KeyboardEvent | ||
bubbles : Boolean [읽기 전용]
이벤트가 버블링 이벤트인지 여부를 나타냅니다. | Event | ||
cancelable : Boolean [읽기 전용]
해당 이벤트와 연관된 비헤이비어를 차단할 수 있는지 여부를 나타냅니다. | Event | ||
charCode : uint
누르거나 놓은 키의 문자 코드 값이 포함되어 있습니다. | KeyboardEvent | ||
commandKey : Boolean
Command 키가 활성 상태(true)인지 비활성 상태(false)인지를 나타냅니다. | KeyboardEvent | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
controlKey : Boolean
Control 키가 활성 상태(true)인지 비활성 상태(false)인지를 나타냅니다. | KeyboardEvent | ||
ctrlKey : Boolean
Windows 및 Linux에서는 Ctrl 키가 활성 상태(true)인지 비활성 상태(false)인지를 나타내고, Mac OS에서는 Ctrl 키 또는 Command 키가 활성 상태인지 여부를 나타냅니다. | KeyboardEvent | ||
currentTarget : Object [읽기 전용]
이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. | Event | ||
eventPhase : uint [읽기 전용]
이벤트 흐름에서 현재 단계입니다. | Event | ||
keyCode : uint
누르거나 놓은 키의 키 코드 값입니다. | KeyboardEvent | ||
keyLocation : uint
키보드에서 키의 위치를 나타냅니다. | KeyboardEvent | ||
shiftKey : Boolean
Shift 키 수정자가 활성 상태(true)인지 비활성 상태(false)인지를 나타냅니다. | KeyboardEvent | ||
target : Object [읽기 전용]
이벤트 대상입니다. | Event | ||
type : String [읽기 전용]
이벤트 유형입니다. | Event |
메서드 | 정의 주체 | ||
---|---|---|---|
KeyboardEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, charCodeValue:uint = 0, keyCodeValue:uint = 0, keyLocationValue:uint = 0, ctrlKeyValue:Boolean = false, altKeyValue:Boolean = false, shiftKeyValue:Boolean = false, controlKeyValue:Boolean = false, commandKeyValue:Boolean = false)
키보드 이벤트에 대한 특정 정보가 포함된 Event 객체를 만듭니다. | KeyboardEvent | ||
[재정의]
KeyboardEvent 객체의 복사본을 하나 만들고 각 속성의 값을 원본과 동일하게 설정합니다. | KeyboardEvent | ||
사용자 정의 ActionScript 3.0 Event 클래스에서 toString() 메서드를 구현하기 위한 유틸리티 함수입니다. | Event | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
이벤트에서 preventDefault() 메서드가 호출되었는지 여부를 확인합니다. | Event | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
이벤트의 기본 비헤이비어를 취소할 수 있는 경우, 그 비헤이비어를 취소합니다. | Event | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
이벤트 흐름에서 현재 노드 및 그 후속 노드에 있는 모든 이벤트 리스너가 처리되지 않도록 합니다. | Event | ||
이벤트 흐름에서 현재 노드의 후속 노드에 있는 모든 이벤트 리스너가 처리되지 않도록 합니다. | Event | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
[재정의]
KeyboardEvent 객체의 속성이 모두 포함된 문자열을 반환합니다. | KeyboardEvent | ||
표시 목록이 수정된 경우, 이 이벤트의 처리가 완료된 후 표시를 렌더링해야 함을 나타냅니다.
| KeyboardEvent | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
상수 | 정의 주체 | ||
---|---|---|---|
KEY_DOWN : String = "keyDown" [정적]
KeyboardEvent.KEY_DOWN 상수는 keyDown 이벤트 객체의 type 속성 값을 정의합니다. | KeyboardEvent | ||
KEY_UP : String = "keyUp" [정적]
KeyboardEvent.KEY_UP 상수는 keyUp 이벤트 객체의 type 속성 값을 정의합니다. | KeyboardEvent |
altKey | 속성 |
charCode | 속성 |
charCode:uint
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
누르거나 놓은 키의 문자 코드 값이 포함되어 있습니다. 문자 코드 값은 영어 키보드 값입니다. 예를 들어 Shift+3을 누르는 경우 charCode
는 일본어 키보드에서 #이고, Shift+2를 누르는 경우 charCode
는 다음입니다. @은 영어 키보드와 마찬가지로 독일어 키보드에서도 동일합니다("는 아님).
참고: IME(Input Method Editor)가 실행 중인 경우 charCode
가 정확한 문자 코드를 보고하지 않습니다.
구현
public function get charCode():uint
public function set charCode(value:uint):void
commandKey | 속성 |
controlKey | 속성 |
ctrlKey | 속성 |
keyCode | 속성 |
keyLocation | 속성 |
keyLocation:uint
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
키보드에서 키의 위치를 나타냅니다. 이는 키보드에 두 번 이상 표시되는 키를 구분할 때 유용합니다. 예를 들어 왼쪽 키에 KeyLocation.LEFT
속성 값, 오른쪽 키에 KeyLocation.RIGHT
속성 값을 사용하여 왼쪽 Shift 키와 오른쪽 Shift 키를 구분할 수 있습니다. 다른 예로, 표준 키보드에서 누른 숫자 키(KeyLocation.STANDARD
)와 숫자 키 패드에서 누른 숫자 키(KeyLocation.NUM_PAD
)를 구분할 수도 있습니다.
구현
public function get keyLocation():uint
public function set keyLocation(value:uint):void
shiftKey | 속성 |
KeyboardEvent | () | 생성자 |
public function KeyboardEvent(type:String, bubbles:Boolean = true, cancelable:Boolean = false, charCodeValue:uint = 0, keyCodeValue:uint = 0, keyLocationValue:uint = 0, ctrlKeyValue:Boolean = false, altKeyValue:Boolean = false, shiftKeyValue:Boolean = false, controlKeyValue:Boolean = false, commandKeyValue:Boolean = false)
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
키보드 이벤트에 대한 특정 정보가 포함된 Event 객체를 만듭니다. Event 객체는 매개 변수로 이벤트 리스너에 전달됩니다.
매개 변수type:String — 이벤트 유형입니다. 사용할 수 있는 값에는 KeyboardEvent.KEY_DOWN 과 KeyboardEvent.KEY_UP 이 있습니다.
| |
bubbles:Boolean (default = true ) — Event 객체가 이벤트 흐름의 버블링 단계에 참여하는지 여부를 결정합니다.
| |
cancelable:Boolean (default = false ) — Event 객체를 취소할 수 있는지 여부를 결정합니다.
| |
charCodeValue:uint (default = 0 ) — 누르거나 놓은 키의 문자 코드 값입니다. 반환된 문자 코드 값은 영어 키보드 값입니다. 예를 들어 Shift+3을 누르면 Keyboard.charCode() 속성은 영어 키보드와 마찬가지로 일본어 또는 독일어 키보드에서 #을 반환합니다.
| |
keyCodeValue:uint (default = 0 ) — 누르거나 놓은 키의 키 코드 값입니다.
| |
keyLocationValue:uint (default = 0 ) — 키보드에서 키의 위치입니다.
| |
ctrlKeyValue:Boolean (default = false ) — Windows에서 Ctrl 키가 활성화되었는지 여부를 나타냅니다. Mac에서 Ctrl 키 또는 Command 키가 활성화되었는지 여부를 나타냅니다.
| |
altKeyValue:Boolean (default = false ) — Alt 키 수정자의 활성화 여부를 나타냅니다(Windows용).
| |
shiftKeyValue:Boolean (default = false ) — Shift 키 수정자가 활성화되었는지 여부를 나타냅니다.
| |
controlKeyValue:Boolean (default = false ) — Mac에서 Control 키가 활성화되었는지 여부 및 Windows 또는 Linux에서 Control 또는 Ctrl 키가 활성화되었는지 여부를 나타냅니다.
| |
commandKeyValue:Boolean (default = false ) — Command 키가 활성화되었는지 여부를 나타냅니다(Mac만 해당).
|
관련 API 요소
clone | () | 메서드 |
toString | () | 메서드 |
override public function toString():String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
KeyboardEvent 객체의 속성이 모두 포함된 문자열을 반환합니다. 문자열의 형식은 다음과 같습니다.
[KeyboardEvent type= value bubbles= value cancelable= value ... shiftKey= value ]
String — KeyboardEvent 객체의 속성이 모두 포함된 문자열입니다.
|
updateAfterEvent | () | 메서드 |
public function updateAfterEvent():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
표시 목록이 수정된 경우, 이 이벤트의 처리가 완료된 후 표시를 렌더링해야 함을 나타냅니다.
KEY_DOWN | 상수 |
public static const KEY_DOWN:String = "keyDown"
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
KeyboardEvent.KEY_DOWN
상수는 keyDown
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | true |
cancelable | AIR에서는 true 이고 Flash Player에서는 false 입니다. AIR에서 이 이벤트를 취소하면 텍스트 필드에 문자를 입력할 수 없습니다. |
charCode | 누르거나 놓은 키의 문자 코드 값입니다. |
commandKey | Mac에서 Command 키가 활성 상태이면 true 입니다. 그렇지 않으면 false 입니다 |
controlKey | Windows 및 Linux에서 Ctrl 키가 활성 상태이면 true 입니다. Mac에서 Control 키가 활성 상태이면 true 입니다. 그렇지 않으면 false 입니다 |
ctrlKey | Windows 및 Linux에서 Ctrl 키가 활성 상태이면 true 입니다. Mac에서 Ctrl 키 또는 Command 키가 활성 상태이면 true 입니다. 그렇지 않으면 false 입니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
keyCode | 누르거나 놓은 키의 키 코드 값입니다. |
keyLocation | 키보드에서 키의 위치입니다. |
shiftKey | true 이면 Shift 키가 활성 상태이고, false 이면 비활성 상태입니다. |
target | 포커스가 있는 InteractiveObject 인스턴스입니다. target 은 표시 목록에서 이벤트 리스너를 등록한 객체가 아닐 수도 있습니다. 표시 목록에서 현재 이벤트를 처리 중인 객체에 액세스하려면 currentTarget 속성을 사용합니다. |
관련 API 요소
KEY_UP | 상수 |
public static const KEY_UP:String = "keyUp"
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
KeyboardEvent.KEY_UP
상수는 keyUp
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | true |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
charCode | 누르거나 놓은 키의 문자 코드 값이 포함되어 있습니다. |
commandKey | Mac에서 Command 키가 활성 상태이면 true 입니다. 그렇지 않으면 false 입니다 |
controlKey | Windows 및 Linux에서 Ctrl 키가 활성 상태이면 true 입니다. Mac에서 Control 키가 활성 상태이면 true 입니다. 그렇지 않으면 false 입니다 |
ctrlKey | Windows에서 Ctrl 키가 활성 상태이면 true 입니다. Mac에서 Ctrl 키 또는 Command 키가 활성 상태이면 true 입니다. 그렇지 않으면 false 입니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
keyCode | 누르거나 놓은 키의 키 코드 값입니다. |
keyLocation | 키보드에서 키의 위치입니다. |
shiftKey | true 이면 Shift 키가 활성 상태이고, false 이면 비활성 상태입니다. |
target | 포커스가 있는 InteractiveObject 인스턴스입니다. target 은 표시 목록에서 이벤트 리스너를 등록한 객체가 아닐 수도 있습니다. 표시 목록에서 현재 이벤트를 처리 중인 객체에 액세스하려면 currentTarget 속성을 사용합니다. |
관련 API 요소
KeyboardEventExample
클래스를 사용하여 키보드 이벤트와 해당하는 리스너 함수를 보여 줍니다. 이는 다음 단계로 이루어집니다.
child
라는 새 Sprite 인스턴스를 만듭니다.- 나중에 사각형의 배경색 및 크기 설정에 사용할 속성을 선언합니다.
- Sprite의 메서드를 사용하여 연한 파란색 사각형을 그립니다. 이 사각형은
addChild()
메서드를 호출했을 때 기본 좌표 (0,0)으로 Stage에 표시됩니다. - 하나의 마우스 이벤트와 두 개의 키보드 유형 이벤트 리스너를 추가합니다.
click
/clickHandler
:child
sprite에 포커스를 설정하기 위해 사각형을 클릭할 때 전달되어 키보드 이벤트를 수신할 수 있습니다.keyDown
/keyDownHandler
: 임의의 키를 누르면 전달됩니다. 구독자 메서드에서trace()
문을 사용하여 이벤트에 대한 정보를 출력합니다.keyUp
/keyUpHandler
: 임의의 키를 놓으면 전달됩니다.
이 예제를 테스트할 때 키보드 이벤트가 작동되도록 하려면 먼저 사각형을 클릭해야 합니다.
또한 Flash에서 동영상 테스트 명령을 사용하는 경우 제작 인터페이스가 child sprite가 연결된 이벤트 리스너가 아닌 특정 키에 응답할 수 있습니다.
package { import flash.display.Sprite; import flash.display.DisplayObject; import flash.events.*; public class KeyboardEventExample extends Sprite { private var child:Sprite = new Sprite(); private var bgColor:uint = 0x00CCFF; private var size:uint = 80; public function KeyboardEventExample() { child.graphics.beginFill(bgColor); child.graphics.drawRect(0, 0, size, size); child.graphics.endFill(); addChild(child); child.addEventListener(MouseEvent.CLICK, clickHandler); child.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); child.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); } private function clickHandler(event:MouseEvent):void { stage.focus = child; } private function keyDownHandler(event:KeyboardEvent):void { trace("keyDownHandler: " + event.keyCode); trace("ctrlKey: " + event.ctrlKey); trace("keyLocation: " + event.keyLocation); trace("shiftKey: " + event.shiftKey); trace("altKey: " + event.altKey); } private function keyUpHandler(event:KeyboardEvent):void { trace("keyUpHandler: " + event.keyCode); } } }
Tue Jun 12 2018, 03:17 PM Z