[ 인벤토리 아이템 NullReferenceExeption 에러 ]
트러블 슈팅
인벤토리에 들어온 아이템을 클릭하면 오브젝트를 찾을 수 없다는 NullReferenceException: Object reference not set to an instance of an object 에러가 뜬다.
에러가 뜬 줄에서 디버깅을 했더니 selectedItem이 null이었다.
selectedItem에서는 slots[index].item이 null이었다.
slots[index].item이 있는 if문을 확인해보니 == 연산자를 사용해서 값이 null인지 확인하는 조건이 되게 해야하는데, = 연산자를 사용해서 null이 할당되어 있었다.
== 연산자로 수정했더니 정상적으로 작동되었다.
[ 인벤토리 창의 아이템 능력치 표시 오류 ]
트러블 슈팅
당근 오브젝트의 타입을 Health와 Hunger 두 가지로 추가하고 각각 Value 값으로 10과 20을 입력했는데, UI 창에서 Value 값이 정상적으로 표시가 되지 않았다.
원인은 selectedStatValue.text = selecteItem.consumables[i].value.Tostring() + "\n"; 줄에서 값을 더하는 게 아니라 할당하는 연산자를 사용하고 있었기 때문이었다. 여러 값이 있을 때는 +=를 통해서 원하는 내용을 모두 표시할 수 있다.
코드를 수정한 뒤에는 정상적으로 인벤토리 창에서 Value 값이 표시되는 것을 확인할 수 있었다.
[ 회고 ]
오늘은 몸 상태가 아주 좋지 않았다. 너무 피곤해서 눈도 제대로 못 뜨고 정신을 거의 못 차린 채로 강의를 들었다. 그래서 강의를 그대로 따라 했음에도 사소한 부분에서 실수가 생겨서 에러가 발생했다. 그래도 다행히 쉽게 발견할 수 있는 에러라서 금방 해결할 수 있었다. 그리고 연산자 하나를 잘못 쓰는 것만으로도 게임이 정상적으로 실행되지 않기 때문에, 더 꼼꼼히 코드를 살펴보고 작성할 때부터 정신 차리고 작성해야겠다는 생각이 들었다. 이번에는 다행히 에러가 떠서 바로 찾을 수 있었는데, 코드 자체는 정상이었다면 찾는 데 시간이 정말 오래 걸렸을 것 같다. 아직 과제를 수행하지 못해서 새벽에 좀 해놓을까 싶었는데, 오늘 하는 걸 보니 휴식도 학습에 중요한 요소인 것 같다.
▼위대한 광명이 깃든 태초의 빛
'Coding > Unity' 카테고리의 다른 글
[내일배움캠프 35일차 TIL] 컴포넌트에 데이터 자동 할당, Can't add script 에러 (0) | 2024.06.04 |
---|---|
[내일배움캠프 32일차 TIL] 아이템 사용 트러블 슈팅 (0) | 2024.05.30 |
[내일배움캠프 23일차 TIL] 스크립터블 오브젝트, 레이어 마스크, 비트 시프트 연산, 오브젝트 풀링, FindGameobjectWithTag (0) | 2024.05.17 |
[내일배움캠프 21일차 TIL] 애니메이션 적용, 이름 입력, 씬 전환 시 데이터 유지, DontDestroyOnLoad (0) | 2024.05.14 |
[내일배움캠프 20일차 TIL] 카메라 추적, 보간 적용 (0) | 2024.05.13 |