UnityでWebViewを実装できるAssetのEmbedded Browserを使用したJavaScriptとの連携方法を説明します。Embedded Browserについて概要はこちらで紹介しています。
これから説明するのはUnityからJavaScriptに値を渡し、値を返してもらう簡単なサンプルで、Assets/ZFBrowser/Demo/SimpleBrowser.unityを元に作成しています。
Unity(C#)
SimpleController.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
using UnityemmEngine; using System.Collections; using UnityEngine.UI; using ZenFulcrum.EmbeddedBrowser; [RequireComponent(typeof(Browser))] public class SimpleController : MonoBehaviour { private Browser browser; void Start() { browser = GetComponent<Browser>(); browser.CallFunction("Login", "kirin", "pass").Then(ret => Debug.Log("Result: " + ret)); } } |
上記13行目では CallFunction を使用してJavaScriptを呼び出しています。Login関数に引数として kirin と pass というstringを渡しています。
インスペクターBrowser.csのURLには http://mizutanikirin.net/zf.html を設定。
htmlとJavaScript
こちら2ファイルを自サーバにアップしてください。
zf.html
1 2 3 4 5 6 7 8 9 10 11 12 |
<!doctype html> <html lang="ja"> <head> <meta charset="utf-8"> <title>WebView Test</title> </head> <body> <h1>WEBVIEW TEST HTML</h1> <script src="js/script.js"></script> </body> </html> |
js/script.js
1 2 3 |
function login(username, password) { return "OK, username: " + username + ", password: " + password; } |
Unity実行結果
こういった感じにUnityコンソールに表示されます。
1 |
Result: OK, username: kirin, password: pass |
コメントを残す