Unity/Asset 분석

[RTS Engine] Android 터치 커스터마이징 & Unity에서의 마우스 입력

lipnus 2021. 5. 28. 03:35
반응형

PC용으로 만들어진 엔진이라 Android에 맞게 커스터마이징 필요.

마우스 이벤트 받는 부분 검색해서 코드 수정.

 

 

 

 

 

코드수정

SelectionManager.cs

            //did the player just press one of these buttons?
            bool leftButtonDown = Input.GetMouseButtonDown(0);
            bool rightButtonDown = Input.GetMouseButtonDown(1);

1 -> 0

 

유니티에서의 마우스 입력처리

 

버튼처리

마우스 버튼에 대한 입력은 일반적으로 Down, Hold, Up 이 세 가지 과정으로 나누어져서 처리된다. Down은 버튼을 누르는 순간을 의미하고 Hold는 누른 상태로 유지하는 것, Up은 눌려진 버튼을 떼는 것을 의미한다.

 

bool Input.GetMouseButtonDown(int button);
bool Input.GetMouseButton(int button);
bool Input.GetMouseButtonUp(int button);

 

유니티에서는 Input 클래스의 GetMouseButtonDown(), GetMouseButton(), GetMouseButtonUp() 함수를 통해서 버튼의 입력을 확인할 수 있는데, 이 함수들의 사용 예시는 다음과 같다.

 

void Update ()
{
    if (Input.GetMouseButtonDown(0))
    {
        // 마우스 왼쪽 버튼을 눌렀을 때의 처리
    }

    if (Input.GetMouseButton(0))
    {
        // 마우스 왼쪽 버튼을 누르고 있는 도중의 처리
    }

    if (Input.GetMouseButtonUp(0))
    {
        // 마우스 왼쪽 버튼을 뗄 때의 처리
    }
}

 

 

0 : 마우스 왼쪽 버튼

1 : 마우스 오른쪽 버튼

2 : 마우스 휠 버튼

3~6 : 마우스에 달린 추가 버튼

 

 

커서위치

void Update()
{
    Vector3 mousePos = Input.mousePosition;
}

프로그램 화면의 왼쪽 아래가 (0, 0)



 

 

https://wergia.tistory.com/117


 

반응형