패키지flash.events
클래스public class KeyboardEvent
상속KeyboardEvent Inheritance Event Inheritance Object

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9

키보드를 통한 사용자 입력에 대한 응답으로 전달된 KeyboardEvent 객체 ID입니다. 키보드 이벤트에는 KeyboardEvent.KEY_DOWN 유형과 KeyboardEvent.KEY_UP 유형이 있습니다.

키와 특정 문자 간의 매핑은 장치 및 운영 체제에 따라 다르므로 문자 입력 처리에는 TextEvent 이벤트 유형을 사용해야 합니다.

키 이벤트를 전역적으로 수신하려면 Stage에서 캡처 단계 및 대상 또는 버블링 단계를 수신합니다.

예제 보기

참고 사항

KEY_DOWN
KEY_UP
KeyLocation


Public 속성
 속성다음에 의해 정의됨
  altKey : Boolean
Windows에서는 Alt 키가 활성 상태(true)인지 비활성 상태(false)인지를 나타내며 Mac OS에서는 Option 키가 활성 상태인지를 나타냅니다.
KeyboardEvent
 Inheritedbubbles : Boolean
[읽기 전용] 이벤트가 버블링 이벤트인지 여부를 나타냅니다.
Event
 Inheritedcancelable : Boolean
[읽기 전용] 해당 이벤트와 연관된 비헤이비어를 차단할 수 있는지 여부를 나타냅니다.
Event
  charCode : uint
누르거나 놓은 키의 문자 코드 값이 포함되어 있습니다.
KeyboardEvent
  AIR-only commandKey : Boolean
Command 키가 활성 상태(true)인지 비활성 상태(false)인지를 나타냅니다.
KeyboardEvent
 Inheritedconstructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
Object
  AIR-only controlKey : Boolean
Control 키가 활성 상태(true)인지 비활성 상태(false)인지를 나타냅니다.
KeyboardEvent
  ctrlKey : Boolean
Windows 및 Linux에서는 Ctrl 키가 활성 상태(true)인지 비활성 상태(false)인지를 나타내고 Mac OS에서는 Ctrl 키나 Command 키가 활성 상태인지 여부를 나타냅니다.
KeyboardEvent
 InheritedcurrentTarget : Object
[읽기 전용] 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다.
Event
 InheritedeventPhase : uint
[읽기 전용] 이벤트 흐름에서 현재 단계입니다.
Event
  keyCode : uint
누르거나 놓은 키의 키 코드 값입니다.
KeyboardEvent
  keyLocation : uint
키보드에서 키의 위치를 나타냅니다.
KeyboardEvent
 Inheritedprototype : Object
[정적] 클래스 또는 함수 객체의 프로토타입 객체에 대한 참조입니다.
Object
  shiftKey : Boolean
Shift 키 수정자가 활성 상태(true)인지 비활성 상태(false)인지를 나타냅니다.
KeyboardEvent
 Inheritedtarget : Object
[읽기 전용] 이벤트 대상입니다.
Event
 Inheritedtype : String
[읽기 전용] 이벤트 유형입니다.
Event
Public 메서드
 메서드다음에 의해 정의됨
  
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
 Inherited
formatToString(className:String, ... arguments):String
사용자 정의 ActionScript 3.0 Event 클래스에서 toString() 메서드를 구현하기 위한 유틸리티 함수입니다.
Event
 Inherited
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
Object
 Inherited
이벤트에서 preventDefault() 메서드가 호출되었는지 여부를 확인합니다.
Event
 Inherited
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
Object
 Inherited
이벤트의 기본 비헤이비어를 취소할 수 있는 경우, 그 비헤이비어를 취소합니다.
Event
 Inherited
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
Object
 Inherited
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
Object
 Inherited
이벤트 흐름에서 현재 노드 및 그 후속 노드에 있는 모든 이벤트 리스너가 처리되지 않도록 합니다.
Event
 Inherited
이벤트 흐름에서 현재 노드의 후속 노드에 있는 모든 이벤트 리스너가 처리되지 않도록 합니다.
Event
  
KeyboardEvent 객체의 속성이 모두 포함된 문자열을 반환합니다.
KeyboardEvent
  
표시 목록이 수정된 경우, 이 이벤트의 처리가 완료된 후 표시를 렌더링해야 함을 나타냅니다.
KeyboardEvent
 Inherited
지정된 객체의 프리미티브 값을 반환합니다.
Object
Public 상수
 상수다음에 의해 정의됨
 InheritedACTIVATE : String = "activate"
[정적] ACTIVATE 상수는 activate 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedADDED : String = "added"
[정적] Event.ADDED 상수는 added 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedADDED_TO_STAGE : String = "addedToStage"
[정적] Event.ADDED_TO_STAGE 상수는 addedToStage 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedCANCEL : String = "cancel"
[정적] Event.CANCEL 상수는 cancel 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedCHANGE : String = "change"
[정적] Event.CHANGE 상수는 change 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedCLEAR : String = "clear"
[정적] Event.CLEAR 상수는 clear 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedCLOSE : String = "close"
[정적] Event.CLOSE 상수는 close 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedAIR-only CLOSING : String = "closing"
[정적] Event.CLOSING 상수는 closing 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedCOMPLETE : String = "complete"
[정적] Event.COMPLETE 상수는 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedCONNECT : String = "connect"
[정적] Event.CONNECT 상수는 connect 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedCOPY : String = "copy"
[정적] copy 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedCUT : String = "cut"
[정적] cut 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedDEACTIVATE : String = "deactivate"
[정적] Event.DEACTIVATE 상수는 deactivate 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedDISPLAYING : String = "displaying"
[정적] Event.DISPLAYING 상수는 displaying 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedENTER_FRAME : String = "enterFrame"
[정적] Event.ENTER_FRAME 상수는 enterFrame 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedEXIT_FRAME : String = "exitFrame"
[정적] Event.EXIT_FRAME 상수는 exitFrame 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedAIR-only EXITING : String = "exiting"
[정적] Event.EXITING 상수는 exiting 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedFRAME_CONSTRUCTED : String = "frameConstructed"
[정적] Event.FRAME_CONSTRUCTED 상수는 frameConstructed 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedFULLSCREEN : String = "fullScreen"
[정적] Event.FULL_SCREEN 상수는 fullScreen 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedAIR-only HTML_BOUNDS_CHANGE : String = "htmlBoundsChange"
[정적] Event.HTML_BOUNDS_CHANGE 상수는 htmlBoundsChange 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedAIR-only HTML_DOM_INITIALIZE : String = "htmlDOMInitialize"
[정적] Event.HTML_DOM_INITIALIZE 상수는 htmlDOMInitialize 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedAIR-only HTML_RENDER : String = "htmlRender"
[정적] Event.HTML_RENDER 상수는 htmlRender 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedID3 : String = "id3"
[정적] Event.ID3 상수는 id3 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedINIT : String = "init"
[정적] Event.INIT 상수는 init 이벤트 객체의 type 속성 값을 정의합니다.
Event
  KEY_DOWN : String = "keyDown"
[정적] keyDown 이벤트 객체의 type 속성 값을 정의합니다.
KeyboardEvent
  KEY_UP : String = "keyUp"
[정적] keyUp 이벤트 객체의 type 속성 값을 정의합니다.
KeyboardEvent
 InheritedAIR-only LOCATION_CHANGE : String = "locationChange"
[정적] Event.LOCATION_CHANGE 상수는 locationChange 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedMOUSE_LEAVE : String = "mouseLeave"
[정적] Event.MOUSE_LEAVE 상수는 mouseLeave 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedAIR-only NETWORK_CHANGE : String = "networkChange"
[정적] Event.NETWORK_CHANGE 상수는 networkChange 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedOPEN : String = "open"
[정적] Event.OPEN 상수는 open 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedPASTE : String = "paste"
[정적] Event.PASTE 상수는 paste 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedREMOVED : String = "removed"
[정적] Event.REMOVED 상수는 removed 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedREMOVED_FROM_STAGE : String = "removedFromStage"
[정적] Event.REMOVED_FROM_STAGE 상수는 removedFromStage 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedRENDER : String = "render"
[정적] Event.RENDER 상수는 render 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedRESIZE : String = "resize"
[정적] Event.RESIZE 상수는 resize 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedSCROLL : String = "scroll"
[정적] Event.SCROLL 상수는 scroll 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedSELECT : String = "select"
[정적] Event.SELECT 상수는 select 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedSELECT_ALL : String = "selectAll"
[정적] Event.SELECT_ALL 상수는 selectAll 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedSOUND_COMPLETE : String = "soundComplete"
[정적] Event.SOUND_COMPLETE 상수는 soundComplete 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedTAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[정적] Event.TAB_CHILDREN_CHANGE 상수는 tabChildrenChange 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedTAB_ENABLED_CHANGE : String = "tabEnabledChange"
[정적] Event.TAB_ENABLED_CHANGE 상수는 tabEnabledChange 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedTAB_INDEX_CHANGE : String = "tabIndexChange"
[정적] Event.TAB_INDEX_CHANGE 상수는 tabIndexChange 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedUNLOAD : String = "unload"
[정적] Event.UNLOAD 상수는 unload 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedAIR-only USER_IDLE : String = "userIdle"
[정적] Event.USER_IDLE 상수는 userIdle 이벤트 객체의 type 속성 값을 정의합니다.
Event
 InheritedAIR-only USER_PRESENT : String = "userPresent"
[정적] Event.USER_PRESENT 상수는 userPresent 이벤트 객체의 type 속성 값을 정의합니다.
Event
속성 정보
altKey속성
altKey:Boolean  [읽기/쓰기]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9

Windows에서는 Alt 키가 활성 상태(true)인지 비활성 상태(false)인지를 나타내며 Mac OS에서는 Option 키가 활성 상태인지를 나타냅니다.



구현
    public function get altKey():Boolean
    public function set altKey(value:Boolean):void
charCode속성 
charCode:uint  [읽기/쓰기]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9

누르거나 놓은 키의 문자 코드 값이 포함되어 있습니다. 문자 코드 값은 영어 키보드 값입니다. 예를 들어, Shift+3을 누르면 charCode는 영어 키보드와 마찬가지로 일본어 키보드에서도 #입니다.

참고: IME(Input Method Editor)가 실행 중인 경우 charCode가 정확한 문자 코드를 보고하지 않습니다.



구현
    public function get charCode():uint
    public function set charCode(value:uint):void

참고 사항

AIR-only commandKey속성 
commandKey:Boolean  [읽기/쓰기]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0

Command 키가 활성 상태(true)인지 비활성 상태(false)인지를 나타냅니다. Mac OS에서만 지원됩니다. Mac OS에서 commandKey 속성은 ctrlKey 속성과 동일한 값을 가집니다.



구현
    public function get commandKey():Boolean
    public function set commandKey(value:Boolean):void
AIR-only controlKey속성 
controlKey:Boolean  [읽기/쓰기]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0

Control 키가 활성(true)인지 비활성(false)인지를 나타냅니다. Windows 및 Linux에서 Ctrl 키가 활성 상태이면 true입니다.



구현
    public function get controlKey():Boolean
    public function set controlKey(value:Boolean):void
ctrlKey속성 
ctrlKey:Boolean  [읽기/쓰기]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9

Windows 및 Linux에서는 Ctrl 키가 활성 상태(true)인지 비활성 상태(false)인지를 나타내며 Mac OS에서는 Ctrl 키 또는 Command 키가 활성 상태인지를 나타냅니다.



구현
    public function get ctrlKey():Boolean
    public function set ctrlKey(value:Boolean):void
keyCode속성 
keyCode:uint  [읽기/쓰기]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9

누르거나 놓은 키의 키 코드 값입니다.

참고: IME(Input Method Editor)가 실행 중인 경우 keyCode가 정확한 키 코드를 보고하지 않습니다.



구현
    public function get keyCode():uint
    public function set keyCode(value:uint):void

참고 사항

keyLocation속성 
keyLocation:uint  [읽기/쓰기]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9

키보드에서 키의 위치를 나타냅니다. 이는 키보드에 두 번 이상 표시되는 키를 구분할 때 유용합니다. 예를 들어, 왼쪽 키에 KeyLocation.LEFT 속성 값, 오른쪽 키에 KeyLocation.RIGHT 속성 값을 사용하여 왼쪽 Shift 키와 오른쪽 Shift 키를 구분할 수 있습니다. 다른 예로, 표준 키보드에서 누른 숫자 키(KeyLocation.STANDARD)와 숫자 키 패드에서 누른 숫자 키(KeyLocation.NUM_PAD)를 구분할 수도 있습니다.



구현
    public function get keyLocation():uint
    public function set keyLocation(value:uint):void
shiftKey속성 
shiftKey:Boolean  [읽기/쓰기]

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9

Shift 키 수정자가 활성(true)인지 비활성(false)인지를 나타냅니다.



구현
    public function get shiftKey():Boolean
    public function set shiftKey(value:Boolean):void
생성자 정보
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

키보드 이벤트에 대한 특정 정보가 포함된 Event 객체를 만듭니다. Event 객체는 매개 변수로 이벤트 리스너에 전달됩니다.

매개 변수
type:String — 이벤트 유형입니다. 사용할 수 있는 값은 KeyboardEvent.KEY_DOWNKeyboardEvent.KEY_UP입니다.
 
bubbles:Boolean (default = true) — Event 객체가 이벤트 흐름의 버블링 단계에 참여하는지 여부를 결정합니다.
 
cancelable:Boolean (default = false) — Event 객체를 취소할 수 있는지 여부를 결정합니다.
 
charCodeValue:uint (default = 0) — 누르거나 놓은 키의 문자 코드 값입니다. 반환된 문자 코드 값은 영어 키보드 값입니다. 예를 들어, Shift+3을 누르면 getASCIICode() 메서드는 영어 키보드와 마찬가지로 일본어 키보드에서도 #을 반환합니다.
 
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용).

참고 사항

메서드 정보
clone()메서드
override public function clone():Event

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9

KeyboardEvent 객체의 복사본을 하나 만들고 각 속성의 값을 원본과 동일하게 설정합니다.

반환값
Event — 원본과 동일한 속성 값을 갖는 새 KeyboardEvent 객체입니다.
toString()메서드 
override public function toString():String

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9

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

keyDown 이벤트 객체의 type 속성 값을 정의합니다.

이 이벤트에는 다음과 같은 속성이 있습니다.

속성
bubbles true
cancelable false; 취소할 기본 비헤이비어가 없습니다.
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 속성을 사용합니다.

참고 사항

KEY_UP상수 
public static const KEY_UP:String = "keyUp"

언어 버전: ActionScript 3.0
런타임 버전: AIR 1.0 Flash Player 9

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 속성을 사용합니다.

참고 사항

예제 예제 사용 방법
KeyboardEventExample.as

다음 예제에서는 KeyboardEventExample 클래스를 사용하여 키보드 이벤트와 해당하는 리스너 함수를 보여 줍니다. 이는 다음 단계로 이루어집니다.
  1. child라는 새 Sprite 인스턴스를 만듭니다.
  2. 나중에 사각형의 배경색 및 크기 설정에 사용할 속성을 선언합니다.
  3. Sprite의 메서드를 사용하여 연한 파란색 사각형을 그립니다. 이 사각형은 addChild() 메서드를 호출했을 때 기본 좌표 (0,0)으로 Stage에 표시됩니다.
  4. 하나의 마우스 이벤트와 두 개의 키보드 유형 이벤트 리스너를 추가합니다.
    • click/clickHandler: child sprite에 포커스를 설정하기 위해 사각형을 클릭할 때 전달되어 키보드 이벤트를 수신할 수 있습니다.
    • keyDown / keyDownHandler: 임의의 키를 누르면 전달됩니다. 구독자 메서드에서 trace() 문을 사용하여 이벤트에 대한 정보를 출력합니다.
    • keyUp / keyUpHandler: 임의의 키를 놓으면 전달됩니다.

이 예제를 테스트할 때 키보드 이벤트가 작동되도록 하려면 먼저 사각형을 클릭해야 합니다.

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);
        }
        
        
    }
}