我是Unity / C#的新手,我无法找到问题的答案:0
我有一个脚本(selectCharacter),它将一个脚本(Knight)添加到游戏对象中。 Knight脚本调用方法" SetResource(true)"。此方法创建NullReferenceException。该问题是由属性"私有属性健康"生成的。 (属性是非Monobehaviour类)但我不知道为什么,因为我去了骑士脚本 manuel到游戏对象一切都很好。
感谢您的帮助,抱歉我的英语不好。
public class SelectCharacter : MonoBehaviour {
void Start () {
gameObject.AddComponent(typeof(Knight));
}
}
public class Knight : PlayerStandardAttribute
{
void Start () {
SetResource(true)
}
}
public class PlayerStandardAttribute : MonoBehaviour {
private Attribute health;
public void SetResource(bool healthP) {
if (healthP == true){
Debug.Log(health.ToString());
health.CurrentBar = GameObject.Find("HealthBar").GetComponent<Bar>();
}
}
答案 0 :(得分:0)
在调用SetResource之前,您需要创建一个Attribute实例并将其分配给运行状况。这将是:
void Start () {
health = new Attribute();
SetResource(true);
}