-1
我有一個玩家預製,當遊戲通過網絡管理器啓動時,玩家預製具有附加到它的腳本(玩家健康),需要2個UI元素作爲輸入(DamageImage ,HealthSlider)。我面臨的問題是我無法在預製中添加這些輸入,導致對象引用未設置爲對象錯誤的實例。無法添加層次結構中的UI元素以預製
試圖通過將預製件置於層次結構中然後保存它來添加它們,但它沒有幫助。
我有一個玩家預製,當遊戲通過網絡管理器啓動時,玩家預製具有附加到它的腳本(玩家健康),需要2個UI元素作爲輸入(DamageImage ,HealthSlider)。我面臨的問題是我無法在預製中添加這些輸入,導致對象引用未設置爲對象錯誤的實例。無法添加層次結構中的UI元素以預製
試圖通過將預製件置於層次結構中然後保存它來添加它們,但它沒有幫助。
如果用戶界面元素不在預製件本身或其子項中,那麼一旦進行預製就會失去參考。
你可以做的是設置這些元素,像「DamageImage」和「HealthSlider」,然後在連接到您的預製一個你PlayerHealth腳本的覺醒()函數的標籤做到這一點:
void Awake(){
DamageImage = GameObject.FindWithTag("DamageImage").GetComponent<Image>();
HealthSlider = GameObject.FindWithTag("HealthSlider").GetComponent<Slider>();
}
這並不是與層次結構有關,而是UI元素在未作爲對象實例化時被引用爲對象的事實。 –