2017-02-09 65 views
-1

我有一個玩家預製,當遊戲通過網絡管理器啓動時,玩家預製具有附加到它的腳本(玩家健康),需要2個UI元素作爲輸入(DamageImage ,HealthSlider)。我面臨的問題是我無法在預製中添加這些輸入,導致對象引用未設置爲對象錯誤的實例。無法添加層次結構中的UI元素以預製

試圖通過將預製件置於層次結構中然後保存它來添加它們,但它沒有幫助。

+0

這並不是與層次結構有關,而是UI元素在未作爲對象實例化時被引用爲對象的事實。 –

回答

3

如果用戶界面元素不在預製件本身或其子項中,那麼一旦進行預製就會失去參考。

你可以做的是設置這些元素,像「DamageImage」和「HealthSlider」,然後在連接到您的預製一個你PlayerHealth腳本的覺醒()函數的標籤做到這一點:

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