Class: InputManager

사용자가 어떤 키를 눌렀는지 또는 마우스의 위치를 알아야 할 때 이 객체를 사용한다. 엔진을 초기화 할 때 이벤트 리스너를 등록하여 매 프레임마다 입력을 받고 키의 상태를 갱신하여 관리한다.

Usage

키 이벤트를 수신하기 위해 이벤트 리스너를 등록한다.

                    
                        new InputManager()
                    
                

Members

(static) keyTable

이전 프레임에서 키가 눌렸는가와 현재 프레임에서 키가 눌렸는가를 저장할 테이블이다.

Properties:
Type Description
Object

Methods

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:
Type:
{boolean}

(static) isKeyDown(key) → {boolean}

키를 처음 누른 상태라면 true를 반환한다.

Parameters:
Name Type Description
key string

키 이름

Returns:
Type:
{boolean}

(static) isKeyReleased(key) → {boolean}

키를 막 뗀 상태라면 true를 반환한다.

Parameters:
Name Type Description
key string

키 이름

Returns:
Type:
{boolean}

(static) isKeyPressed(key) → {boolean}

키를 꾹 누르고 있는 상태라면 true를 반환한다.

Parameters:
Name Type Description
key string

키 이름

Returns:
Type:
{boolean}

(static) isKeyInKeyTable(key) → {boolean}

키가 keyTable에 존재한다면 true를 반환한다.

Parameters:
Name Type Description
key string

키 이름

Returns:
Type:
{boolean}