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代码
      } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

3.在untiy中要调用以上代码两个函数 MyFunction1,MyFunction2 
以下两行代码是在unity脚本中调用的,触发调用时机可以自己控制

//注这里的vulue 是要传递给webgl中的值
 Application.ExternalCall("MyFunction1", vaule1,value2);
 Application.ExternalCall("MyFunction2", vaule);
  • 1
  • 2
  • 3

以上是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");//不带参数
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

其中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
  }
}

猜你喜欢

转载自blog.csdn.net/lwsas1/article/details/80825085