Unity,WebGL, 页面JS调用Unity方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity,WebGL, 页面JS调用Unity方法相关的知识,希望对你有一定的参考价值。

与WebPlayer类似,在JS中用SendMessage

比如在Unity场景中有一个GameObject,叫A,
A上有C#脚本,里面有个方法

public void F(string str)
{
        //do something...
}

在发布出的WebGL项目index.html中用JS调用此方法

<script>
        var gameInstance = UnityLoader.Instantiate("gameContainer", "Build/WebAndUnity.json",{onProgress:UnityProgress});

        function testSend()
        {
                gameInstance.SendMessage("A", "F", "string");
        }
</script>

需要注意的就是gameInstance,先要初始化出一个gameInstance,如上代码,在用gameInstance调用SendMessage方法

网上很多例子都是直接写SendMessage,这样会报错,

SendMessage is not defined

并不难,但一定要注意,这个卡了我半天的时间

以上是关于Unity,WebGL, 页面JS调用Unity方法的主要内容,如果未能解决你的问题,请参考以下文章

unity打包webgl程序和js键盘监听事件冲突的问题。

Unity 发布的 WebGL 使用SendMessage传递多个参数

如何在 Unity/C# WebGL 平台中调用 async/await JavaScript 函数?

Unity发布的WebGL页面应用实现全屏/非全屏切换

浅谈unity webGL与three.js

unity webgl获取跳转页面的url信息