KoreanFoodie's Study
모바일 빌드시, Input.GetTouch(0) 사용법 : argumentexception: index out of bounds 해결법 본문
Game Dev/Unity : Study
모바일 빌드시, Input.GetTouch(0) 사용법 : argumentexception: index out of bounds 해결법
GoldGiver 2022. 7. 8. 11:55
유니티 공부 노트
Touch Input 이용시 에러?
분명히 에디터에서는 마우스 클릭 입력으로 잘 동작했는데, 모바일로 빌드하니 제대로 작동을 하지 않아 원인을 파악하던 중, Input 관련에 문제가 있다는 것을 알게 되었다.
기존에는 터치 입력을 다음과 같이 구현했었는데... (후략)
if (Input.GetTouch(0).phase == TouchPhase.Began)
{
JumpButtonPressed();
}
근데 이 경우, argumentexception: index out of bounds 에러가 발생했었다. 이는 터치 자체가 없는데, Input 에서 Touch 의 첫번째 인덱스를 가져오려 해서 생긴 문제였다.
따라서 다음과 같이 간단히, Touch 배열이 비어있지 않은지 체크해주기만 하면 된다!
if (Input.touchCount > 0)
{
if (Input.GetTouch(0).phase == TouchPhase.Began)
{
JumpButtonPressed();
}
}
이 간단한 에러로 몇시간을 날렸는지... 모바일 터치 인풋 문제인지 모르고 물리 쪽 코드만 엄청 수정했는데, 이래서 경험이 참 중요한 것 같다. 기록도.
'Game Dev > Unity : Study' 카테고리의 다른 글
유니티 Monobehaviour 내장 함수 호출 순서 및 주의점 (0) | 2022.07.24 |
---|---|
유니티 Awake 와 Start 차이 (0) | 2022.07.10 |
유니티에서 일시정지 및 특정 물체 시간 정지 구현하기 (1) | 2022.07.09 |
Comments