Unity3d Unity游戏引擎中返回0的GetComponent
我在从另一个脚本获取变量时遇到了统一性问题。我在c#工作。 在本例中,我将向GUI脚本获取播放器的运行状况,但变量仅返回0。我试图通过寻找类似的问题来理解,但我无法理解。谢谢/皮兹勒内 如何在monobehavior部分的播放器脚本中设置运行状况: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
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时,这让我一度陷入困境
如有疑问,请检查检查器。该对象的检查器中的变量是否已更改?检查器值将覆盖脚本定义的值。是!非常感谢你!把它写下来作为答案,我会记下来的。