Unity2018新版Webgl和网页通信 基于jslib的Unity和网页中的方法互相调用

Unity2018弃用了Application.ExternalCall(),改用jslib进行Unity与网页间的通信。通过创建命名为__Internalplugins.jslib的文件并放入Plugins文件夹,然后在C#脚本中调用jslib的方法,同时网页的js方法通过SendMessage()反向调用Unity。发布WebGL后,通过jslib的TestSend()方法和Unity的TestMethod()方法实现了双向通信。
摘要由CSDN通过智能技术生成

Application.ExternalCall()改版弃用 新版jslib官方介绍
首先我们来一个最简单的jslib,用txt创建文件。文件名为__Internalplugins,后缀名为jslib。
关键操作:这个文件必须放在Unity项目的Plugins文件夹下!
代码如下:

mergeInto(LibraryManager.library, {

  Hello: function () {
    TestSend("Hello, world!");
  },
});

接下来我们创建c#测试代码,把脚本挂在指定的GameObject上。

using UnityEngine;
using UnityEngine.UI;
using System.Runtime.InteropServices;

public class WebCommunication : MonoBehaviour
{
//引用jslib的Hello()方法
    [DllImport("__Internal")]
    private static extern void Hello();
//测试UI,我们的目的是用jslib的Hello()方法调用网页的js方法。然后用js方法调用Unity方法。
//这样就完成了Unity和网页中的方法互相调用。最后MyText会显示Hello, world!
    public Text MyText;

    void Start()
    {
        //我们程序一开始就调用jslib的方法Hello()
        Hello();
    }
    //测试 网页调用此方法
    public void TestMethod(string
  • 9
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值