編集:
Unity はApplication.ExternalCall
WebGL をサポートするようになったため、そのためのプラグインは不要になりました。古いバージョンの Unity を使用している人のために、古い回答をここに残しておきます。パックされた Chrome アプリで使用するとセキュリティ上の制限があるため、以下の古い回答を使用することをお勧めします。Application.ExternalCall
これは、プラグインでは発生しません。
古い答え:
Application.ExternalCall
WebPlayer専用です。WebGLでは機能しApplication.ExternalCall
ません。
これはプラグインで実現できます。JavaScript コードを次のようにします。次に、名前を付けPluginName.jslib
ます。拡張子は.jslibでなければなりません。Assets/Plugins/WebGL/PluginName.jslibに保存します。
var MyPlugin = {
Hello: function()
{
window.alert("Hello, world!");
},
HelloString: function(str)
{
window.alert(Pointer_stringify(str));
},
};
mergeInto(LibraryManager.library, MyPlugin);
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(); //Call Hello from JavaScript
HelloString("This is a string."); //Call HelloString from JavaScript with parameter
}
}
using System.Runtime.InteropServices;
これを行うには、含める必要があります 。これに関する詳細については、http://docs.unity3d.com/Manual/webgl-interactingwithbrowserscripting.htmlにアクセスし、「プラグインから JavaScript 関数を呼び出す」という箇所から読み始めてください。