在Unity3D中访问其他脚本的引用

时间:2018-12-14 15:07:53

标签: c# unity3d reference

我想要一个对象(游戏),其中包含对所有其他对象(玩家,聊天,控制台等)的引用。

我已经创建了这些对象,并在“游戏”对象中对其进行了引用。

现在,我想在其他脚本中引用“游戏”,并通过该脚本访问它的引用对象。

有可能吗?

    public class Game : MonoBehaviour
     {
         public GameObject network;
         public GameObject player;
         public GameObject console;
         public GameObject chat;
         public GameObject authentication;
     }
     public class Chat : MonoBehaviour
     {
         public GameObject game;
         string text = game.console.GetComponent<InputField>().text; // gives an error "GameObject'does not contain a definition for 'console'"
     }

2 个答案:

答案 0 :(得分:0)

原来应该这样使用:

string text = game.GetComponent<Game>().console.GetComponent<InputField>().text

答案 1 :(得分:0)

很高兴您自己弄清楚了。如果要减少编写的代码量,这是一种实现方法

public class Game : MonoBehaviour
{
    public InputField console;
}
public class Chat : MonoBehaviour
{
    public Game game;
    string text = game.console.text;
}