JavaScript プラグインの設定
Create a JavaScript plug-in that your Unity project can interact with.
読み終わるまでの所要時間 5 分最終更新 1ヶ月前
Unity プロジェクトで、JavaScript プラグインから関数を呼び出すことができます。Unity は、Unity プロジェクトに JavaScript コードを追加できる 2 種類の JavaScript プラグインファイルをサポートしています。
- .jslib
- .jspre
注:Unity は現在、.jslib ファイルと .jspre ファイルで ECMAScript 5 (ES5) 構文 をサポートしています。ES6 構文 はまだサポートされていません。
C++ プラグインから関数を呼び出す場合は、Unity C# スクリプトから C/C++/C# 関数を呼び出す を参照してください。
Unity プロジェクトへの JavaScript ファイルのインポート
プロジェクトでブラウザーの JavaScript を使用するための推奨される方法は、JavaScript ソース (.jspre および .jslib ファイル) をプロジェクトに追加し、次に Unity C# スクリプトコードでそれらの関数またはライブラリを直接使用することです。
JavaScript プラグインファイルを などの任意のフォルダーに配置します。
Assets/JSPlugins.jslib ファイルタイプからの関数の呼び出し
Unity C# またはネイティブスクリプトの .jslib プラグインファイルから関数を呼び出すことができます。
.jslib ファイルタイプは、 Emscripten モジュールを使用します。詳細については、--js-library Emscripten オプション に関する Emscripten のドキュメントを参照してください。
--js-library以下のコードは、いくつかの関数 ( と ) を定義する最適な構文を持つ .jslib プラグインファイルの例です。
HelloHelloStringmergeInto(LibraryManager.library, { Hello: function () { window.alert("Hello, world!"); }, HelloString: function (str) { window.alert(UTF8ToString(str)); },});
次に、Unity C# コードでこれらの関数を呼び出すことができます。
using UnityEngine;using System.Runtime.InteropServices;public class NewBehaviourScript : MonoBehaviour { [DllImport("__Internal")] private static extern void Hello(); [DllImport("__Internal")] private static extern void HelloString(string str); void Start() { Hello(); HelloString("This is a string."); }}
Unity C# および JavaScript 関数間のコード相互作用の完全な例については、コード例: Unity で JavaScript および C/C++/C# 関数を呼び出す を参照してください。
Unity C# と JavaScript の相互作用の詳細は、Unity C# スクリプトから JavaScript 関数を呼び出す を参照してください。
ファイルタイプが .jspre の JavaScript ライブラリの追加
.jspre プラグインファイルタイプを使用して、JavaScript コードに既存の JavaScript ライブラリを追加します。Unity コードを使用して .jspre ファイルと相互作用することはできませんが、.jslib コードでは使用できます。
.jspre ファイルタイプは、 Emscripten オプションを使用します。詳細については、--pre-js Emscripten オプション に関する Emscripten のドキュメントを参照してください。
--pre-jsビルドプロセス中に、Emscripten は ファイルを作成し、.jspre ファイルのコンテンツを ファイルの開始部分にコピーします。このプロセスは、すべてのコードが 1 つのファイルにまとめられるためファイルの管理が容易になり、コードが Emscripten の最適化からメリットを得られるため便利です。
*.framework.js*.framework.js