JavaScript プラグインまたはブラウザーコードから Unity コードを呼び出したい場合があります。例えば、Unity の動作をトリガーし、そのメソッドにアクセスする必要がある JavaScript の UI 要素を作成したい場合などです。
ブラウザーの JavaScript から Unity C# スクリプトにデータや通知を送信するための推奨方法は、SendMessage 関数を使用して Unity プロジェクト内のゲームオブジェクトのメソッドを呼び出すことです。
JavaScript コードから Unity スクリプティング API の Unity メソッドを呼び出すには、SendMessage を使用します。
渡せるメソッドの種類には一部制限があります。呼び出しできるのはゲームオブジェクトのメソッドのみで、他のオブジェクトにアタッチされた一般的な C# メソッドは呼び出しできません。また、SendMessage を使用してメソッドを呼び出せるのは、以下のいずれかに該当する場合のみです。
複数のパラメーターを持つメソッドや他の型のパラメーターを持つメソッドは、SendMessage を使用して呼び出すことはできません。
プロジェクトに埋め込まれた JavaScript プラグインから呼び出しを行う場合は、以下のコードを使用します。
MyGameInstance.SendMessage(objectName, methodName, value);
objectName は、シーン内のオブジェクトの名前です。methodName は、スクリプト内のメソッドの名前で、現在シーン内のそのオブジェクトにアタッチされています。value は、文字列、数字、または空の場合があります。以下のコードは、さまざまなパラメーターで呼び出しできる各メソッドの種類を示す例です。
MyGameInstance.SendMessage('MyGameObject', 'MyFunction');
MyGameInstance.SendMessage('MyGameObject', 'MyFunction', 5);
MyGameInstance.SendMessage('MyGameObject', 'MyFunction', 'MyString');
埋め込みページのグローバルスコープから呼び出しを行うには、グローバルスコープからの JavaScript 関数の呼び出し を参照してください。