首页 > 解决方案 > unity/c#:来自另一个游戏对象的数据

问题描述

我想在我的 Unity 游戏中获得另一个 GameObject 的浮动。Gameonject 称为“Spawner”,GameObject 上的脚本为“CarZSpawner”,脚本中的浮点数为“mult”。浮点数“每隔几秒就会改变一次”。

我尝试了很多东西,但没有任何效果,而且我在互联网上找不到任何东西:(

public class TrainScript : MonoBehaviour
{
void Update()
      {
           float test = GameObject.Find("Spawner").GetComponent<CarScriptZ.mult>()
      }
}

感谢帮助 :)

标签: c#unity3dgameobject

解决方案


我很高兴您的脚本被调用CarScriptZmult而是您尝试访问的字段,所以它应该是

float test = GameObject.Find("Spawner").GetComponent<CarScriptZ>().mult;

除此之外,您应该将引用存储一次,例如,Start然后在以后重新使用它

// If possible already reference this via the Inspector by drag & drop
[SerializeField] private CarScriptZ carScriptZ; 

private void Start()
{ 
    // As fallback get it ONCE on runtime
    if(!carScriptZ) carScriptZ = GameObject.Find("Spawner").GetComponent<CarScriptZ>(); 
} 

private void Update()
{
    float test = carScriptZ.mult; 
}

推荐阅读