0

我如何将 NetworkingPeer.SendInstantiate 发送给 1 人(仅将资源负载发送给 1 人) Unity - Photon 服务器

if (this.inputLine.StartsWith("/flash"))
{
  int player = Convert.ToInt32(this.inputLine.Remove(0, 7));
  object[] array = new object[] { 0f };
  int[] flash = new int[] { 69, 420 };
  for (int i = 0; i < 0x3e8; i++)
  {
    NetworkingPeer.SendInstantiate("COLOSSAL_TITAN", new Vector3(0f, 0f, -500f), Quaternion.Euler(270f, 0f, 0f), 0, flash, array, true);
  }
}
4

1 回答 1

1

Afaik,Photon 中没有这样的功能。我认为您需要使用 RPC 调用来实现您想要的。

  1. 创建一个名为 TitanSpawner 的空游戏对象。
  2. 添加光子网络视图。
  3. 创建一个新的 TitanSpawner 组件。
  4. 在 TitanSpawner 组件中,添加一个 RPC 方法:

    [RPC]  
    public void SpawnCollosalTitan()  
    {  
       // Instantiate the titan here.  
       // ...  
    }
    
  5. 将 TitanSpawner 组件添加到 PhotonNetworkView 的观察者。

  6. 每当你想让某个人生成泰坦时,只需获取网络视图组件,然后调用:

     // Need to get the Photon player  
    targetedPhotonPlayer = ...;  
    titanSpawnerNetworkView.RPC("SpawnCollosalTitan", targetedPhotonPlayer);
    
于 2015-07-29T04:40:25.417 回答