Unity WebGL 程序如何调用Java Script函数

2022-08-29 16:28:57 浏览数 (2)

在WebGL的程序中我们可能需要与网页上的其他元素进行通信,或者需要调用一些其他的Web API,本文介绍如何在Unity脚本中调用Java Script函数。

首先需要将Java Script函数源码封装在拓展名为.jslib的文件中,通过创建.txt文本,修改其拓展名,最终将文件放置在Unity Assets文件夹中的Plugins子文件夹下,jslib文件内容需要有如下语法:

代码语言:javascript复制
var WebGLHelper = 
{
  Test: function()
{
    console.log("TEST");
  }
};
mergeInto(LibraryManager.library, WebGLHelper);

或者:

代码语言:javascript复制
mergeInto(LibraryManager.library, 
{
  Test: function()
  {
    console.log("TEST");
  }
});

示例函数中使用console.log函数在控制台打印一句日志,我们将其导入到Unity中Plugins文件夹中,再创建测试脚本,需要引入命名空间System.Runtime.InteropServices :

代码语言:javascript复制
using UnityEngine;
using System.Runtime.InteropServices;

public class JslibTest : MonoBehaviour
{
    [DllImport("__Internal")]
    private static extern void Test();

    private void Start()
    {
        Test();
    }
}

使用DllImport来引用外部方法,注意函数名需要与jslib文件中的函数名一致,在Start函数中调用该方法进行打包测试:

运行打包后的WebGL程序,F12打开控制台可见看到我们打印的日志内容。

以上是在Unity中调用Java Script函数的方法,如果需要在Java Script脚本中调用Unity中的脚本函数,可以参阅官方文档,地址:https://docs.unity3d.com/cn/current/Manual/webgl-interactingwithbrowserscripting.html

0 人点赞