好吧,我和gals我有一个问题再次与一些代码。基本上,一旦我开始并试图建立一个健康包它抛出一个错误:为什么我在尝试在Unity C#中创建HealthPack时遇到NullReferenceException?
的NullReferenceException:)未将对象引用设置到对象 HealthSpawnerScript.Update(实例(在资产/脚本/ HealthSpawnerScript.cs: 31)
下面是我正在运行的代码。 GameObject PlayerController包含一个用于返回PlayerHealth()的播放器健康的方法。在唤醒时,我设置了playerController来查找我之后的脚本和方法。然后在更新中,我试图调用该方法并将其分配给稍后在脚本中使用的变量。我知道这应该很简单,但我有一个大脑放屁球员。
public PlayerController playerController;
private int healthHolder;
void OnAwake()
{
playerController = GameObject.Find ("PlayerHealth").GetComponent<PlayerController>();
}
// Use this for initialization
void Start()
{
//set healthExist to false to indicate no health packs exist on game start
healthExist = false;
//playerController = GameObject.Find ("PlayerHealth").GetComponent<PlayerController>();
}
// Update is called once per frame
void Update()
{
healthHolder = playerController.PlayerHealth();
不是我需要的东西,但我想通了,我调用PlayerController方法PlayerHealth附加到PlayerController而不是定位实际的对象将是PlayerShip的脚本PlayerController对它。 – Phillipv20
好的。 “OnAwake”函数怎么样?那是正确的? – Programmer