Unity - GameObject.Find()仅适用于服务器

时间:2017-04-08 07:22:01

标签: networking unity3d unity5 unity3d-unet unet

我正在制作一个简单的网络游戏。场景中有一个名为' ReloadButton'我试图找到这个按钮,并通过播放器上附带的脚本为其添加一个监听器。

    private Button reloadBtn;

    void Start()
    {
        GameObject tempGO = GameObject.Find("ReloadButton");

        if (tempGO != null)
        {
            reloadBtn = tempGO.GetComponent<Button>();
            reloadBtn.onClick.AddListener(weaponManager.Reload);
        }
    }

我这样做是因为直接引用了&#39; ReloadButton&#39;通过公共Button变量到脚本是不可能的。

代码在服务器上正常工作,也正确添加了侦听器。但是在客户端上,GameObject.Find("ReloadButton")会抛出NullReferenceException

似乎客户端无法找到Button本身。 我不能在没有解决这个问题的情况下继续进行我的项目,我希望你们中的一些人可以指出我的问题。

0 个答案:

没有答案