0

我一直在寻找这个问题的答案,但没有找到任何解决问题的方法。预制件已注册。

这是代码片段,在下面的类中:

“公共类 MyNetworkManager:NetworkManager”

public override void OnStartServer()
{
    NetworkServer.RegisterHandler(MsgTypes.PlayerPrefab, OnResponsePrefab);
    base.OnStartServer();

    SpawnCard ();

}

void SpawnCard () {
    GameObject go = GameObject.Instantiate (theGuy) as GameObject;
    NetworkServer.Spawn (go);
}

有人可以暗示问题是什么吗?

4

2 回答 2

0

我终于通过在 NetworkBehaviour 类而不是 NetworkManager 中执行以下操作来使其工作:

public override void OnStartServer() {
    SpawnCards ();
}

private void SpawnCards() {
    GameObject go = GameObject.Instantiate (myGameObject) as GameObject;
    NetworkServer.Spawn (go);
}

...这基本相同,但不是 NetworkManager 类。

于 2016-07-26T07:17:16.647 回答
0

Look at Remote Actions for call method on other client.

https://docs.unity3d.com/Manual/UNetActions.html

于 2016-07-25T17:44:48.110 回答