반응형
2D 게임 개발 중, 각 메소드에 대한 설명
Input.GetKeyDown = 키를 누르는 순간
Input.GetKey = 키를 누르고 있는 동안
Input.GetKeyUp = 키를 떼는 순간
transform.Translate(x, y, z) = x, y, z 축으로 정한만큼 이동
unity의 transform.Translate는 1초당 화면 깜빡임 (frame)으로 오브젝트의 움직임을 표현한다.
따라서 각 기기마다 프레임이 다를 수 있다.
갤럭시 휴대폰도 60Hz, 120Hz 중 고를 수 있다.
따라서 게임 개발자가 프레임당 속도를 5로 지정하고,
60Hz로 플레이하는 사람이 있다고 한다면 1초당 5 * 60 = 300의 속도로 캐릭터가 움직이는 게임을 할 것이고
120Hz로 플레이하는 사람은 5 * 120 = 600의 속도로 캐릭터가 움직이는 게임을 할 것이다.
이를 보정하여 두 사용자 모두 같은 게임을 플레이 할 수 있도록 Unity에서는 속도에 Time.deltaTime 이라는 시간 인자를 곱해준다.
'C#' 카테고리의 다른 글
[C#] C#과 .NET framework 소개 (Introduction to C# and the .NET framework) (0) | 2023.02.12 |
---|---|
[C#] 디자인 패턴 in C#: Singleton, Factory, and Observer Patterns (싱글톤, 팩토리, 옵저버 패턴) (0) | 2023.02.12 |
[C#] 클래스의 속성에 변수로 접근하기 (0) | 2023.01.05 |
[C#] Cannot deconstruct dynamic object 해결하기 (0) | 2022.07.26 |
[C#] 테스트 케이스 첫 작성 (0) | 2022.06.15 |
댓글