UnityパッケージのWebGLとJsの通信方法


   Unity  WebGL       Js    ,         。

Unity呼び出しJsメソッド
1.廃棄方法(1)公開されたWebGLプロジェクトのindex.html Exit関数の追加:
function Exit() { alert("UnityToWeb") }

(2)Unityでメソッドを呼び出したい場合は、コードを追加します.
Application.ExternalCall("Exit");//  Js Exit  

2.新しい方法(1)新規フォルダPlugins(2)フォルダ新規.jslibファイル、ここで__を作成Internal.jslibファイル追加コード
mergeInto(LibraryManager.library, {

  Hello: function () {
    window.alert("Hello, world!");
	Exit();//  Js  
  },
});

(3)c#ファイル
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Runtime.InteropServices;
/// 
/// Unity  Js
/// 
public class UnityToWeb : MonoBehaviour
{
//    
    [DllImport("__Internal")]
    private static extern void Hello();

    void Start()
    {
        Hello();//      
    }

/// 
/// Unity  JSExit  
/// 
public void Exit()
    {
       // Application.ExternalCall("Exit");
    }
}


(5)発表されたWebGLプロジェクトのindex.html Exit関数の追加:
function Exit() { alert("UnityToWeb") }

二Js呼び出しUnityメソッド
1.シーンに空のオブジェクトを新規作成し、WebWithUnityと名前を付けてから、新しいスクリプトWebToUnityを作成します.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class WebToUnity : MonoBehaviour
{
    public Text text;
    public void JsToUnity(string a)
    {
        text.text = a;
    }
}


2.ここでは、JsでJsToUnityという関数を呼び出し、プロジェクトをパッケージ化してindexを変更します.htmlファイル. Unity WebGL Player | RoamWeb var unityInstance = UnityLoader.instantiate("unityContainer", "Build/Web4.json", {onProgress: UnityProgress}); function Exit() { alert("UnityToWeb") }//Exit function TestSend() { unityInstance.SendMessage("WebWithUnity", "JsToUnity","WebToUnity"); }//js Unity ,WebWithUnity ( ),JsToUnity ,WebToUnity 。