Class: InputManager
사용자가 어떤 키를 눌렀는지 또는 마우스의 위치를 알아야 할 때 이 객체를 사용한다. 엔진을 초기화 할 때 이벤트 리스너를 등록하여 매 프레임마다 입력을 받고 키의 상태를 갱신하여 관리한다.
Description
Usage
키 이벤트를 수신하기 위해 이벤트 리스너를 등록한다.
new InputManager()
Members
(static) keyTable
이전 프레임에서 키가 눌렸는가와 현재 프레임에서 키가 눌렸는가를 저장할 테이블이다.
Properties:
Type | Description |
---|---|
Object |
(static) keyStatus
keyTable을 이용해 현재 키의 상태(KEY_STATUS)를 저장할 테이블이다.
Properties:
Type | Description |
---|---|
Object |
(static) mousePosition
마우스의 위치를 나타낸다.
Properties:
Type | Description |
---|---|
Vector |
Methods
registerEventListener()
키 이벤트를 수신하여 keyTable를 갱신하는 함수를 이벤트 리스너에 등록한다.
update()
매 프레임마다 update를 호출해 이전 프레임의 키의 상태와 현재 프레임의 키의 상태를 조합하여 현재 키의 상태를 결정한다.
이전 프레임의 키의 상태 * 2 + 현재 프레임의 키의 상태 = 현재 키의 상태 key status in | key status in | previousFrame | currentFrame | result ---------------+---------------+----------------------- false(0) | false(0) | 0 (KEY_UP) ---------------+---------------+----------------------- false(0) | true(0) | 1 (KEY_DOWN) ---------------+---------------+----------------------- true(0) | true(0) | 3 (KEY_PRESSED) ---------------+---------------+----------------------- true(0) | false(0) | 2 (KEY_RELEASED)
KEY_DOWN KEY_RELEASED
key down | |
status -------_______________________------------
^ ^ ^ ^
--KEY_UP---' -----KEY_PRESSED-----'
---KEY_UP--
(static) isKeyUp(key) → {boolean}
키를 누르지 않은 상태라면 true를 반환한다.
Parameters:
Name | Type | Description |
---|---|---|
key
|
string |
키 이름 |
Returns:
(static) isKeyDown(key) → {boolean}
키를 처음 누른 상태라면 true를 반환한다.
Parameters:
Name | Type | Description |
---|---|---|
key
|
string |
키 이름 |
Returns:
(static) isKeyReleased(key) → {boolean}
키를 막 뗀 상태라면 true를 반환한다.
Parameters:
Name | Type | Description |
---|---|---|
key
|
string |
키 이름 |
Returns:
(static) isKeyPressed(key) → {boolean}
키를 꾹 누르고 있는 상태라면 true를 반환한다.
Parameters:
Name | Type | Description |
---|---|---|
key
|
string |
키 이름 |
Returns:
(static) isKeyInKeyTable(key) → {boolean}
키가 keyTable에 존재한다면 true를 반환한다.
Parameters:
Name | Type | Description |
---|---|---|
key
|
string |
키 이름 |
Returns:
(static) getMousePos() → {Vector}
마우스의 좌표값을 반환한다.