Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

Obsolete
NetworkView RPC functions are deprecated. Refer to the new Multiplayer Networking system.

NetworkView.RPC

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public function RPC(name: string, mode: RPCMode, params args: object[]): void;
public void RPC(string name, RPCMode mode, params object[] args);

パラメーター

説明

RPC 関数をすべてのピアに呼び出します。

呼び出された関数は @RPC タグの設定が必要です ([RPC] C# コード)。 RPC 関数が呼び出されるときに NetworkView は GameObject にアタッチされている必要がありますます。 NetworkView が何か他のためにか RPC 関数のためだけに使用されている場合、問題はありません。 RPC 関数だけの場合、状態の同期をオフにする必要があり、観測されたプロパティーは none に設定することができます。 異なるスクリプトでふたつの RPC 関数が同じ名前を持っていて、 RPC が呼び出されたときにそれらのひとつが呼び出される場合、 RPC 関数名はシーン全体でユニークである必要があります。 送信される場合、RPC 呼び出しは常に同じ順序で実行されることが保証されます。 NetworkView.group でネットワークビューの通信グループ設定を RPC 呼び出しのために使用します。 RPC 自身の情報を取得するには自動的に情報が格納される関数の宣言に NetworkMessageInfo パラメーターを追加できます。 これを行うと RPC 関数を呼び出す方法を変更する必要がありません。 詳細は manual の RPC の章を参照してください。 有効な RPC パラメーターは int、 float 、 string 、 NetworkPlayerNetworkViewIDVector3Quaternion です。

var cubePrefab : Transform;

var nView: NetworkView;

function Start() { nView = GetComponent.<NetworkView>(); }

function OnGUI () { if (GUILayout.Button("SpawnBox")) { var viewID : NetworkViewID= Network.AllocateViewID(); nView.RPC("SpawnBox", RPCMode.AllBuffered, viewID, transform.position); } }

@RPC function SpawnBox (viewID : NetworkViewID, location : Vector3) { // Instantate the prefab locally var clone : Transform; clone = Instantiate(cubePrefab, location, Quaternion.identity) as Transform; var nView : NetworkView; nView = clone.GetComponent.<NetworkView>(); nView.viewID = viewID; }
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public Transform cubePrefab; public NetworkView nView; void Start() { nView = GetComponent<NetworkView>(); } void OnGUI() { if (GUILayout.Button("SpawnBox")) { NetworkViewID viewID = Network.AllocateViewID(); nView.RPC("SpawnBox", RPCMode.AllBuffered, viewID, transform.position); } } [RPC] void SpawnBox(NetworkViewID viewID, Vector3 location) { Transform clone; clone = Instantiate(cubePrefab, location, Quaternion.identity) as Transform as Transform; NetworkView nView; nView = clone.GetComponent<NetworkView>(); nView.viewID = viewID; } }

public function RPC(name: string, target: NetworkPlayer, params args: object[]): void;
public void RPC(string name, NetworkPlayer target, params object[] args);

パラメーター

説明

特定のプレイヤーに RPC 関数を呼び出します。