ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 유니티 화면 비율 고정 처리...8
    일지 2021. 9. 28. 15:46

    감지 처리 실패

    유니티의 입력으로 처리를 하려고 했으나 여전히 창 내부만 지원하기 때문에 감지가 되지 않았다.

    윈도우에서 직접 클릭한 정보를 받아올 필요가 있다.

     

    ResolutionController.cs

    	private void Update()
    	{
    		if (m_isUpdating)
    		{
    			return;
    		}
    
    		IntPtr hCursor = GetCursor();
    
    		if (!m_isChanging && IsChanging(hCursor) && Input.GetMouseButtonDown(0))
    		{
    			m_isChanging = true;
    			Debug.Log("StartChange");
    		}
    		else if(m_isChanging && Input.GetMouseButtonUp(0))
    		{
    			StartCoroutine(SetFixedResolution());
    		}
    	}

     

    클릭 감지 처리에 필요한 API 확인

    WinAPI에서 클릭을 받아올 수 있는 함수를 찾아보자.

    구글링 결과 GetAsyncKeyState 함수를 이용해 키 상태를 받아올 수 있다고 한다.

     

    해당 함수를 사용하기 위해 마우스 왼쪽 버튼의 값을 알아야 하는데 친절하게 VK_LBUTTON을 사용하면 된다고 적혀있다. 그리고 해당 값을 찾아본 결과 0x01을 사용하면 되는 것 같다.

     

     

    댓글

Designed by Tistory.