Log to grow

[Unity] 키보드, 마우스 조작 정리 본문

Game/Unity

[Unity] 키보드, 마우스 조작 정리

kkkrrr 2019. 7. 15. 10:39

유니티 에디터에서 디버깅을 위해 키보드, 마우스로 조작하는 방법에 대해 알아보자.

- 기본적으로 매 프레임마다 입력이 있는지 없는지 확인해야 하기 때문에 Update 문 안에 코드를 작성한다. 

 

1. 키보드

# 1. 메서드

- 키보드의 인풋을 받아들이는 메서드는 GetKey, GetKeyDown, GetKeyUp 3가지가 존재한다. 

- GetKey : 해당하는 키를 누르는 동안 true를 반환한다. 즉, 키를 누르고 있다면 매 프레임마다 if 문이 실행된다.

- GetKeyDown : 해당하는 키가 눌릴 때 1회 true를 반환한다.

- GetKeyUp : 해당하는 키를 뗄 때 1회 true를 반환한다.

 

# 2. 인자

- 인자는 2가지의 형태로 들어갈 수 있다.  첫 번째는 문자열의 형태("w"), 두 번째는 KeyCode를 사용하는 것이다.

- 유의해야할 점은 문자열의 형태로 인자를 작성할 때 소문자로 작성해야 한다는 것이다. 때문에 실수를 막기 위해 KeyCode를 사용하는 것이 좋다.

 

- 예를 들어, WASD를 이용하여 플레이어를 움직이는 코드는 아래와 같이 작성할 수 있다. 

    float speed = 1;
    void Update()
    {
        if (Input.GetKey(KeyCode.W))
        {
            this.transform.Translate(0,speed * Time.deltaTime,0);
        }

        if (Input.GetKey(KeyCode.S))
        {
            this.transform.Translate(0,- speed * Time.deltaTime,0);
        }

        if (Input.GetKey(KeyCode.A))
        {
            this.transform.Translate(-speed * Time.deltaTime,0,0);
        }

        if (Input.GetKey(KeyCode.D))
        {
            this.transform.Translate(speed * Time.deltaTime,0,0);
        }
    }

 

1. 마우스

# 1. 메서드

- 마우스의 인풋을 받아들이는 메서드는 GetMouseButton, GetMouseButtonDown, GetMouseButtonUp 3가지가 존재한다. 

- 동작하는 방식은 키보드의 경우와 똑같다.

- GetMouseButton 삼총사는 모바일에서의 터치도 마우스가 클릭된 것 처럼  인식한다.

 

# 2. 인자

- GetMouseButton 삼총사는 인자로 0,1,2를 받을 수 있다. 

- 0은 마우스 왼쪽 버튼, 1은 마우스 오른쪽 버튼, 2는 마우스 휠을 의미한다.

 

- 예를 들어 마우스 왼쪽 버튼을 클릭했을 때 Shoot() 이라는 메서드를 실행시키려면 아래와 같이 코드를 작성하면 된다.

void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Shoot();
        }
    }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Comments