
오늘의 오류는
NullReferenceException: Object reference not set to an instance of an object
ObjectManager.MakeObj (System.String type) (at Assets/Scripts/ObjectManager.cs:117)
GameManager.SpawnEnemy () (at Assets/Scripts/GameManager.cs:49)
GameManager.Update () (at Assets/Scripts/GameManager.cs:35)
입니다.
1. 오류가 뜨는 이유(상황)
평화롭게 오브젝트 풀링을 따라하다가 풀을 만든 후 안되는 오류 부분들 유튜브 확인 후 수정하고 실행하닌깐 갑자기 뜸.
(유튜브에서 하란대로 하고 실행해보니 오류뜨길래 막 고치다가 모르겠네 일단 봐볼까해서 보니깐 골드메탈님도 비정상적으로 작동했었음. 그리고 로직정리 부분으로 따로 안되거나 오류인 부분들은 고쳤음)
아마 나 혼자 고치겠다고 이것저것하다가 잘못 고친듯...
진짜 뭐가 문제지 싶어서 계속 유튭보면서 비교했는데 안됨.
그래서 일단 오류가 지금 Null인게 있는거니깐 할당 안된게 뭐있지 봄.
중간에 안된 부분이 1~2개가 아니라 엄청 많이 할당이 빠져있었음. 왜인지는 모르겠음...
그래서 중간중간 이게 되면 여전히 다른 부분때문에 오류 뜨는 부분이 많았음
결론적으로 말하면...
1. 일단 코드가 조금 달랐음
2. player가 ObjectManager를 할당 못받았음.
3. 계속해서 적이 총을 못쏨.
4. 이젠 enemyL만 총을 못쏨.
5. player가 한 번 죽은 이후에 enemy들이 총을 못쏨 + 총알이 bulletBorder에 부딪혀도 안없어짐.
뭐 이외에도 많았던 것 같은데 지금 당장 기억나는게 이렇게임.
2. 해결방법
1. 검색해서 코드 비교해보면서 바꿔줬음
2. Player가 ObjectManager를 할당 받기위한 코드를 처음엔 썼는데 하면서 사라진듯.
이후에 여전히 뜨길래 확인 코드 넣어보니 Tag가 날라갔었음.
3. 4. 일단 enemyPrefabs에 저장한 내용들이 거의 다 날라갔었음. 특히 ObjectManager를 할당받지 못함.
이것도 고치면서 코드가 날라간 것 같음... ㅠ
5. 처음에는 문제없다가 player가 죽은 후 부터 그러길래 뭐가 문제지 하면서 코드 다시 비교해보니깐 SetActive(false)가 아니라 Destroy로 되어있었음..
결국은 다 코드 오타와 할당이 제대로 되어있지않았다...
3. 느낀점
나는 항상 오류가 났을 때 바로 해결되지않는다면 프로젝트를 다시 시작하거나 이전 부분으로 돌아가서 다시 해당 부분을 했었는데 이번에는 진짜 오류난 부분을 바로 고쳐서 해봤다는 것에 큰 기쁨과 항상 찾아보다가 결국에는 도망쳐서 처음부터 다시하는 방법을 타파해야겠다고 생각했는데 이번에 이런 경험을 해서 약간 성장한 느낌이남.
그래서 성장은 무슨 열심히 해서 빨리 다른 강의도 들어야지.. (진짜 3일걸려서 고친듯 ㅠ)
'오늘의 오류' 카테고리의 다른 글
[Unity] NullReferenceException: Object reference not set to an instance of an object (1) | 2024.06.22 |
---|

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!