如何在Unity3D的单独脚本中使用变量?

时间:2015-10-13 22:57:10

标签: c# unity3d unity5

标题解释了这一切,我想知道如何从另一个脚本访问变量。我在网上搜索过,但发现没有任何效果。

3 个答案:

答案 0 :(得分:2)

你可以制作一个class,实例化一个object类并访问propterties。 或者您可以使用static个变量。 或者甚至是beter,假设你有一个GameManager.cs脚本附加到一个名为GameManager的空对象上。并且您希望从LevelManager.cs脚本访问其变量。您可以在LevelManager.cs

中执行此操作
public GameManager gameManager;

然后您可以将GameManager空对象拖放到此公共字段,并且每次要访问键入gamemanager.yourVariableHere的变量时 或者,如果您不想拖放: 在开始方法......

void Start()
{
 gameManager = GameObject.Find("GameManager");
 //this way it finds your object automatically
}

希望它有所帮助,祝你好运。

答案 1 :(得分:0)

首先,您需要公开您的变量。然后获取GameObject,获取Componend并访问您的变量。

var variable = GameObject.Find("name").GetComponent<ScriptClass>().yourVariable;

答案 2 :(得分:0)

要添加到上一个答案,如果您的类是纯c#类并且不从monbehaviour继承,那么必须创建一个类的实例。如果您想要对某些变量进行全局访问,您应该查看静态变量或实现单例模式