GetComponent 在 Unity 游戏引擎中返回 0

GetComponent returning 0 in Unity Game Engine

我在从另一个脚本获取变量时遇到了统一问题。我在 C# 工作。 在这种情况下,我将播放器的健康状况传递给 GUI 脚本,但变量只是 returns 0。我试图通过搜索类似问题来理解,但我无法弄清楚。谢谢! /PixzleOne

在单一行为部分的播放器脚本中如何设置生命值:

public int health = 100;

我如何尝试在 GUI 脚本中获取运行状况:

int playerHealth;
public GameObject player;
void Update () {
    playerHealth = player.GetComponent<playerScript>().health;
    print (playerHealth); //Only for me to see if it returns anything.
}

您可能在检查器中更改了对象的值。检查器值将覆盖脚本定义的值。

需要注意的重要事项 - 如果您之前声明的 public 变量(也称为检查器变量)没有像这样的默认值:

public int myValue;

然后用脚本中的值更新它:

public int myValue = 1;

检查员不会找零钱。您必须自己在检查器中更改它。我记得当我第一次开始使用 Unity 时,这让我陷入了困境。

如有疑问,请检查检查员。