RemoteFunction
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
リモート関数 オブジェクトは、 クライアント-サーバー 境界を介した同期的な 2方向通信を容易にします。それを使用して、カスタムコールバック関数を定義し、RemoteFunction:InvokeClient() または RemoteFunction:InvokeServer() を呼び出して手動で呼び出すことができます。機能を呼び出すコード は、受信者から返答を受けるまで を生成します。
サーバーとクライアントの両方が RemoteFunction インスタンスにアクセスするには、両側がそれを見ることができる場所にある必要があります、例えば ReplicatedStorage 、しかし、いくつかの場合、それを Workspace または内部の Tool に保存することが適切です。
結果が 必要ではない の場合、呼び出しが非同期であるため、RemoteEvent の代わりに使用することをお勧めします。呼び出しは応答を待つ必要がないので、実行を続行するのを待つ必要はありません。リモートイベントとコールバックを参照してください リモートイベントとコールバック コードサンプルと RemoteFunction に関する詳細情報。
ストリーミング注意事項
呼び出された RemoteFunction がサーバー上でインスタンスを作成する場合、機能が返されたときにクライアント上に存在する保証はありません。これは、インスタンス ストリーミング が有効になっている場所や、作成されたインスタンスが または である場合、プレイヤーのキャラクターから遠く離れたパーツがクライアントにストリーミングされない可能性があり、パーツがストリーミングされるかどうかは、パーツがストリーミングされるかどうかに依存するモデルがあるため、特に重要です。モデルが Persistent であっても、モデルの作成とクライアントにレプリケートされる時間の間に遅延が生じる可能性があります。
パラメータ制限
、 、その他の種類の Roblox オブジェクトは、 が呼び出されるときにパラメータとして伝達でき、数字、文字列、ブールのような Luau タイプも含まれますが、制限を注意深く調べる必要があります。
概要
方法
RemoteFunction を呼び出し、その後、OnClientInvoke コールバックを呼び出します。
RemoteFunction を呼び出し、その後、OnServerInvoke コールバックを呼び出します。
コールバック
RemoteFunction が InvokeClient() で呼び出されるときのリコール。
RemoteFunction が InvokeServer() で呼び出されるときのリコール。
プロパティ
方法
InvokeClient
RemoteFunction を呼び出し、その後、OnClientInvoke コールバックを呼び出します。このメソッドは、サーバーからクライアントに通信するために使用されるため、Script でのみ機能します。
、 、その他の種類の Roblox オブジェクトは、パラメータとして 、Luau タイプ (数、文字列、ブールなど) は、制限を注意深く調べる必要がありますが、 制限 。
リモートイベントとコールバックについては、 リモートイベントとコールバックのコードサンプルとその詳細 を参照してください。
警告意
実際、サーバーはクライアントを呼び出すことが少なく、クライアントは通常、サーバーが持っていない情報を持っていないため、GUI の表示など、クライアントだけが取ることができるアクションは、通常、コールバックを必要としません。そのため、RemoteEvent:FireClient() は、応答を待って実行を続行する必要がない非同期メソッドとして推奨されます。
サーバーからクライアントを呼び出す必要がある場合は、次のリスクを覚えておいてください:
- クライアントがエラーをスローすると、サーバーもエラーをスローします。
- クライアントが呼び出されている間に切断されると、InvokeClient() がエラーをスローします。
- クライアントが値を返さない場合、サーバーは永久に返します。
パラメータ
OnClientInvoke コールバックにパスする値。
戻り値
OnClientInvoke コールバックから返された値。
InvokeServer
RemoteFunction を呼び出し、その後、OnServerInvoke コールバックを呼び出します。このメソッドは、クライアントからサーバーへの通信に使用されるため、LocalScript でのみ機能します。
返された結果が必要ない場合は、RemoteEvent:FireServer() の代わりに、呼び出しが非同期であるため、応答が実行を継続するのを待つ必要がないため、代わりに使用することをお勧めします。
、 、その他の種類の Roblox オブジェクトは、パラメータとして 、Luau タイプ (数、文字列、ブールなど) は、制限を注意深く調べる必要がありますが、 制限 。
リモートイベントとコールバックについては、 リモートイベントとコールバックのコードサンプルとその詳細 を参照してください。
パラメータ
OnServerInvoke コールバックにパスする値。
戻り値
OnServerInvoke コールバックから返された値。
イベント
コールバック
OnClientInvoke
このコールバックは、RemoteFunction を使用して InvokeClient() が呼び出されるときに呼び出されます。バインドされた関数が返されると、返された値は呼び出しサーバーに送り返されます。
リモートイベントとコールバックについては、 リモートイベントとコールバックのコードサンプルとその詳細 を参照してください。
パラメータ
パラメータは InvokeClient() を通じて送信されます。
戻り値
コールバック関数によって返される値。
OnServerInvoke
このコールバックは、RemoteFunction を使用して InvokeServer() が呼び出されるときに呼び出されます。バインドされた関数が返されると、返された値は呼び出しクライアントに送り返されます。
リモートイベントとコールバックについては、 リモートイベントとコールバックのコードサンプルとその詳細 を参照してください。
パラメータ
クライアントと関連する Player が、InvokeServer() の呼び出しの起源となるクライアント。
パラメータは InvokeServer() を通じて送信されます。
戻り値
コールバック関数によって返される値。