[Unity] 4. 키보드와 마우스 이용 (1)
공부/Unity

[Unity] 4. 키보드와 마우스 이용 (1)

안녕하세요.

기계과 감성쟁이입니다.

 

Unity에서 키보드/마우스 사용에 대해

적어보겠습니다.

 

 

* 영상 앞부분을 참고했습니다.

 

1. 키보드 아무 키나 누를 때


키보드를 누르는 데엔 3가지 방식이 있다.

 

1) Down : 누르는 것 - Input.anyKeyDown() 

2) Stay : 누른 채로 유지 - Input.anyKey()

3) Up : 떼는 것 - anyKey 에는 Up 이 없다 ㅠㅠ

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class move : MonoBehaviour
{

    void Update()
    {
        if (Input.anyKeyDown)
            Debug.Log("This is anyKeyDown.");

        if (Input.anyKey)
            Debug.Log("This is anyKey.");
    }
}

 

 

한 버튼을 꾹 눌렀을 때 결과.

 

캡쳐 과정에서 anyKeyDown의 출력값이 2개 추가되어 총 3개가 되었지만,

결론적으로 anyKeyDown은 최초 1번만, anyKey는 입력 시마다 작동한다.

 

2. 키보드 특정 키를 누를 때


 

1) Down : 누르는 것 - Input.GetKeyDown()

2) Stay : 누른 채로 유지 - Input.GetKey()

3) Up : 떼는 것 - Input.GetKeyUp()

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class move : MonoBehaviour
{

    void Update()
    {

        if (Input.GetKeyDown(KeyCode.Return))
            Debug.Log("메시지가 전송되었습니다.");

        if (Input.GetKey(KeyCode.Space))
            Debug.Log("하늘을 날고있습니다.");

        if (Input.GetKeyUp(KeyCode.Q))
            Debug.Log("Q스킬 사용을 멈춥니다.");
        
    }
}

 

 

엔터와 스페이스, Q버튼을 살짝 씩 누른 결과인데

그 잠깐 동안에 GetKey() 함수는 여러번 반복된 것을 알 수 있다.

 

물론 Q는, 키가 떼질 때 출력된다.

 

 

Unity - 스크립팅 API: KeyCode

Success! Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable. 닫기

docs.unity3d.com

 

각각의 버튼에 대한 KeyCode는 위 사이트에서 확인할 수 있다.

 

3. 마우스를 이용할 때


 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class move : MonoBehaviour
{

    void Update()
    {

        if (Input.GetMouseButtonDown(0))
            Debug.Log("단발사격");

        if (Input.GetMouseButton(0))
            Debug.Log("연사");

        if (Input.GetMouseButtonUp(1))
            Debug.Log("정조준");
        
    }
}

 

 

왼쪽버튼 꾹, 오른쪽 버튼은 클릭 한 결과이다.

 


쓰다보니까 너무 길어져서,

나눠서 적겠습니다 하하

 

아이고 더버라