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 时,这让我陷入了困境。
如有疑问,请检查检查员。
我在从另一个脚本获取变量时遇到了统一问题。我在 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 时,这让我陷入了困境。
如有疑问,请检查检查员。