GM이라고하는 GameObject가 있습니다. 게임에 대한 기본 논리 컨트롤러가되는 스크립트가 첨부되어 있습니다. 해당 스크립트에서 이니셜 라이저를 사용하여 객체 배열을 생성하는 것이 실패한 것 같습니다.
, 어딘가에, 내가 가진 : dbEquipment.cs에서private dbEquipment equipment_database = new dbEquipment();
관련 조각 : 나는 유니티를 실행하면
public class dbEquipment {
private int total_items = 13;
private clEquipment[] _master_equipment_list;
public dbEquipment() {
_master_equipment_list = new clEquipment[total_items];
_master_equipment_list[0] = new clEquipment {
... //large amount of object initializing here
};
... //etc, for all 13 items
}
}
, 나는 수를 :
NullReferenceException: Object reference not set to an instance of an object
줄을 가리키면 :
은 내가 먼저) 배열을 실행하고 빈 clEquipment (마다 clEquipment 객체를 초기화 시도 :
for(int x = 0; x < total_items; x++) { _master_equipment_list[x] = new clEquipment(); }
그냥 배열이 실제로 채워진 것을 완전히 확인하기 위해,하지만 난 같은 결과를 얻었다.
나는 또한 List<clEquipment>
으로 변경하고 모든 사항을 적절하게 변경하려고 노력했습니다.
아이디어가 있으십니까?
"NullReferenceException"의 거의 모든 경우가 동일하다. 일부 힌트는 "[.NET의 NullReferenceException은 무엇입니까?] (http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-in-net)"를 참조하십시오. –
입력 해 주셔서 감사합니다! 나는'NullReferenceException'이 무엇인지 압니다. 이 경우, 나는 이것이 "너무 단순한"사례 중 하나이기 때문에 난처한 것입니다. 그래서 누군가가 알 수있는 Unity 특유의 단점이 있을지도 모른다고 생각했습니다. – user462879
그런 경우, 디버깅하는 방법과 null이 무엇인지 알아야합니다. 누군가가 [so]에 대한 답을주기 전에 디버깅을 통해 답을 찾을 수있을 것입니다. –