[유니티] IndexOutOfRangeException

양규빈·2023년 9월 18일
0

디버깅

목록 보기
1/6

버그 발생

유니티 스크립트 작업 중 에러가 발생합니다.

IndexOutOfRangeException: Index was outside the bounds of the array.
UI_Manager+<>c__DisplayClass61_0.<WeaponUpgeadeButtonClickEvent>b__0 () (at Assets/01Scripts/UI_Manager.cs:1041)

에러 텍스트는 다음과 같았습니다.
인덱스 범위를 벗어났다는 예외로, 코드 상에는 문제가 없었기에 골치 아팠던 문제입니다.

UI작업을 위한, 오브젝트를 인스턴스화하고 각 객체에 GetComponent한, 버튼 클래스 객체들을 배열에 저장했었습니다.

이후, 해당 배열을 순회하며, 각 버튼 객체에 클릭 이벤트 리스너를 Add하는 방식으로 구현했었습니다.

<기존의 코드>

<해결한 코드>

buttons의 버튼 객체를 buttons[index]로 직접 변수로서 사용하지 않고,
PlayerInfoUI_Button 클래스 객체로 변수화하여 사용했더니 오류가 발생하지 않게 되었습니다.

profile
훌륭한 개발자를 꿈꾸는 중입니다

0개의 댓글