2017-02-09 3 views
-1

네트워크 관리자를 통해 게임을 시작할 때 스폰되는 플레이어 프리 패브가 있습니다. 플레이어 프리 패브에는 2 개의 UI 요소를 입력으로받는 스크립트 (플레이어 상태)가 첨부되어 있습니다 (DamageImage , HealthSlider) 계층 구조에 존재합니다. 내가 직면하는 문제는 내가 개체 참조의 인스턴스로 설정되지 않은 결과로 prefab에 이러한 입력을 추가 할 수 없다는 것입니다. 오류.접두사에 UI 요소를 추가 할 수 없습니다.

프리 프레임을 계층에 배치 한 다음 추가하여 저장하려고 시도했지만 도움이되지 않았습니다.

+0

이것은 계층 구조와 관련이 없지만 UI 요소가 객체로 인스턴스화되지 않은 경우 객체로 참조되고 있다는 사실입니다. –

답변

3

UI 요소가 프리 패브 자체 나 그 하위 요소에없는 경우 프리 패브를 만들면 참조를 잃게됩니다.

당신이 "DamageImage"와 "HealthSlider"와 같은 뭔가를 다음 조립식에 부착하여 PlayerHealth 스크립트의 깨어() 함수에서 이러한 요소의 태그를 설정 할 수있는 것은이 작업을 수행 :

void Awake(){ 
    DamageImage = GameObject.FindWithTag("DamageImage").GetComponent<Image>(); 
    HealthSlider = GameObject.FindWithTag("HealthSlider").GetComponent<Slider>(); 
} 
관련 문제