1. 程式人生 > >unity 和webgl 互調傳值

unity 和webgl 互調傳值

unity 呼叫web 並傳值 :
1.在unity釋出webgl檔案中找到index.html檔案
2.在index.html 定義unity要呼叫的函式

     function MyFunction1(arg,arg2)
      {
        console.log("MyFunction1")
       //這裡寫js程式碼
      }
      function MyFunction2(arg)
      {
        console.log("MyFunction1")
        //這裡寫js程式碼
      } 

3.在untiy中要呼叫以上程式碼兩個函式 MyFunction1,MyFunction2
以下兩行程式碼是在unity指令碼中呼叫的,觸發呼叫時機可以自己控制

//注這裡的vulue 是要傳遞給webgl中的值
 Application.ExternalCall("MyFunction1", vaule1,value2);
 Application.ExternalCall("MyFunction2", vaule);

以上是unity調h5

html5呼叫unity
1.在index.html 中寫上

value是要傳遞給unity的引數
.表示引數這裡可以傳遞很多個引數用逗號隔開
SentMassege 是unity中的一個指令碼檔案SentMassege.cs
MyFunction 是SentMassege.cs的函式名
value
,.,.,.是MyFunction的引數 gameInstance.SendMessage("SentMassege","MyFunction",value,value2,value3); gameInstance.SendMessage("SentMassege","MyFunction2",value);//帶一個引數 gameInstance.SendMessage("SentMassege","MyFunction3");//不帶引數

其中SendMessage(“場景內物體名”,掛載指令碼內函式名,引數);
“SentMassege”為模型的名字
unity中的SentMassege.cs

public class SentMassege
{
  public void MyFunction(int v,int v2,int v3)
  {
   //TODO
  }
  public void MyFunction2(int v)
  {
   //TODO
  }
  public void MyFunction3()
  {
   //TODO
  }
}