unity 和webgl 互調傳值
阿新 • • 發佈:2019-01-10
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
}
}