GetComponent在Unity Game Engine中返回0

时间:2015-01-12 17:42:42

标签: unity3d unityscript

我从另一个脚本获取变量时遇到了统一性问题。我在c#工作。 在这种情况下,我得到了播放器的健康状态到GUI脚本,但变量只返回0.我试图通过搜索类似的问题来理解,但我无法弄明白。谢谢! / PixzleOne

如何在monobehavior部分的播放器脚本中设置运行状况:

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.
}

1 个答案:

答案 0 :(得分:0)

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

需要注意的重要事项 - 如果您之前声明了public变量(也称为检查员变量)而没有默认值,那么:

public int myValue;

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

public int myValue = 1;

检查员不会接受更改。您必须自己在检查员中更改它。我记得当我刚开始使用Unity时,这让我陷入了困境。

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