translate this page

20170109

테스트 : GetKey(), GetKeyDown(), GetKeyUp()




디버그 로깅 라인을 넣는 간단한 방법으로 세가지 키입력 관련 메소드들 - Input.GetKey(), Input.GetKeyDown(), Input.GetKeyUp() -이 언제 true를 반환하는지 확인해 보았습니다.
(Unity Editor 버전 5.5.0f3)


private int FrameCount;

private void Update()
{
    Framecount++;

    if(Input.GetKey(KeyCode.Space))
    {
        Debug.Log(string.Format("-- GetKey @FrameNumber:{0}" , Framecount));
    }
    if(Input.GetKeyDown(KeyCode.Space))
    {
        Debug.Log(string.Format("__ GetKeyDown @FrameNumber:{0}", Framecount));
    }
    if(Input.GetKeyUp(KeyCode.Space))
    {
        Debug.Log(string.Format("|| GetKeyUp @FrameNumber:{0}", Framecount));
    }

}


그리고 아래 로그를 얻었습니다.




로그에 의하면 :
1. GetKeyDown() 은 '새롭게' 키가 눌린 그 프레임에서 true를 반환합니다.
2. GetKey()는 프레임에서 그 키가 '눌려진 상태' 이면 true를 반환합니다.
3. GetKeyUp()은 키가 릴리즈 된 시점의 프레임에서 true를 반환합니다.

1번과 2번에 의해, 두개의 로그가 같은 프레임에서 출력 되었습니다.
2번에 의해, 키가 눌려진 상태의 프레임들에서는  GetKey()가 계속 true를 반환했습니다.

:)

No comments :

Post a Comment

Popular Posts