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

残念ながら、Photonにはそのような機能はありません。目的を達成するには、RPC 呼び出しを使用する必要があると思います。

  1. TitanSpawner という空のゲームオブジェクトを作成します。
  2. PhotonNetworkView を追加します。
  3. 新しい TitanSpawner コンポーネントを作成します。
  4. TitanSpawner コンポーネントで、RPC メソッドを追加します。

    [RPC]  
    public void SpawnCollosalTitan()  
    {  
       // Instantiate the titan here.  
       // ...  
    }
    
  5. PhotonNetworkViewのobserverにTitanSpawnerコンポーネントを追加。

  6. タイタンをスポーンさせたいときはいつでも、ネットワーク ビュー コンポーネントを取得して、次のように呼び出します。

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