Unity:UNET-重置所有玩家位置

时间:2018-11-30 10:35:28

标签: c# unity3d networking multiplayer unity3d-unet

我需要在多人游戏中创建某种开始按钮的帮助。基本上,当我们等待所有人登录时,玩家可以在地图上移动。一旦每个人都准备好了,同时还是服务器的播放器可以单击“开始”按钮,该按钮应重置所有播放器的位置。此按钮链接到此脚本:

[Server]
public void StartGame()
{
    GameObject[] guards = GameObject.FindGameObjectsWithTag("Guard");
    foreach (GameObject guard in guards)
    {
        guard.transform.position = guardStartPoint.position;
        RpcMoveTo(guardStartPoint.position, guard);
    }
    GameObject ninja = GameObject.FindGameObjectWithTag("Ninja");
    ninja.transform.position = ninjaStartPoint.position;
    RpcMoveTo(ninjaStartPoint.position, ninja);
    started = true;
}

[ClientRpc]
public void RpcMoveTo(Vector3 position, GameObject player)
{
    player.transform.position = position;
}

但这不起作用!而且我是网络方面的新手,因此我仍然对RPC,服务器和命令感到迷茫。目前,它仅在服务器上移动播放器。我应该如何移动所有玩家?

0 个答案:

没有答案