Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d Unity游戏引擎中返回0的GetComponent_Unity3d_Unityscript - Fatal编程技术网

Unity3d Unity游戏引擎中返回0的GetComponent

Unity3d Unity游戏引擎中返回0的GetComponent,unity3d,unityscript,Unity3d,Unityscript,我在从另一个脚本获取变量时遇到了统一性问题。我在c#工作。 在本例中,我将向GUI脚本获取播放器的运行状况,但变量仅返回0。我试图通过寻找类似的问题来理解,但我无法理解。谢谢/皮兹勒内 如何在monobehavior部分的播放器脚本中设置运行状况: public int health = 100; 如何在GUI脚本中获得运行状况: int playerHealth; public GameObject player; void Update () { playerHealth = pl

我在从另一个脚本获取变量时遇到了统一性问题。我在c#工作。 在本例中,我将向GUI脚本获取播放器的运行状况,但变量仅返回0。我试图通过寻找类似的问题来理解,但我无法理解。谢谢/皮兹勒内

如何在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.
}
int playerHealth;
公共游戏对象玩家;
无效更新(){
playerHealth=player.GetComponent().health;
打印(playerHealth);//只供我查看是否返回任何内容。
}

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

需要注意的一点是,如果您之前声明了
public
变量(也称为inspector变量),但没有如下默认值:

public int myValue;
然后使用脚本中的值更新它:

public int myValue = 1;
检查员不会拿零钱。你得自己到检查员那里去换。我记得当我第一次开始使用Unity时,这让我一度陷入困境


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

该对象的检查器中的变量是否已更改?检查器值将覆盖脚本定义的值。是!非常感谢你!把它写下来作为答案,我会记下来的。