我這個問題所困擾,現在相當長的一段: 我有這個靜態類:對象引用未設置爲一個實例,但是類是靜態
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
namespace Platformer;
{
public static class VarBoard
{
public static GameObject Player;
public static GameObject LevelGenerator;
public static GameObject PlayerHealthBar;
public static List <GameObject> AllEnemies = new List<GameObject>();
public static List <GameObject> AllFriends = new List<GameObject>();
}
}
這個類存儲所有的全局變量,所以我可以在我的項目中使用它們從不同的地方,像這樣:
using UnityEngine;
using System.Collections;
using Platformer;
public class HealthBar : MonoBehaviour
{
void Update{
this.GetComponent<RectTransform>().sizeDelta = new Vector2 (VarBoard.Player.GetComponent<Character>().health, 40);
}
}
我發現這個結構this教程,它似乎是對我一個合理的解決方案,但是當我運行的代碼,我剛剛得到這個
異常:的NullReferenceException:未將對象引用設置到對象的實例
但據我瞭解,是不是一個靜態類,你並不需要的情況下的宗旨它? 或我在這裏錯過了什麼?
檢查這部分代碼new Vector2(VarBoard.Player.GetComponent().health,40); 使用前,玩家需要初始化。 –
sszarek
Sriram,這不是重複的,op不是問如何解決這個問題,而是,你需要一個靜態成員的實例 – Sayse
VarBoard.Player是空的,你需要初始化'Player' – 3dd