로딩
요청 처리 중입니다...

동적 할당 관련 오류

 동적 할당 관련 오류

문제의 코드 : 배열명 = new Class배열[사전의 Y축 길이] 필자는 물키우기 게임에 사용할 물받이들을 미리 사전처럼 데이터를 준비해두고, class 배열에 사전의 데이터를 넣는 방식 (데이터베이스) 으로 편하게 관리하려고 코드를 짰습니다. 그런데...

처음 실행하거나 타이틀 씬을 넘어와 게임 씬으로 넘어오면 이렇게 값이 안들어가는 오류가 발생했습니다. 더 이상한 점은, class 배열에 값이 안들어갔다가, 들어가는 이상한 버그가 발생하는 것입니다.

이렇게 게임을 중지하고, 다시 그 씬에서 Play를 눌렀을 때에는 값이 제대로 들어갔습니다. 왜 이런 문제가 생기는지 몰랐는데, 혹시나 해서 실행할 때 배열을 할당하지 않고 미리 배열의 크기를 잡아줬더니 버그가 완전히 해결 되는 것이었습니다.

찾아보고 정보를 모아보니, 배열의 크기는 언제나 컴파일 시간에 확정되어 있어야 한다는 것이었습니다. C언어를 배울때 동적 메모리 할당이라는 것을 배웠던 것 같았는데, 아마 이게 문제가 아니었나...

# Unity # 유니티 # 프로그래밍