标签:gameInstance script js JS Unity 调用 SendMessage unityInstance
- unity 调用浏览器 js
直接看 官方文档 调用没什么问题,传值都可以
- js 调用 unity 方法
首先在 webgl 打包好的 index.html中写一个按钮,用来触发我们的js
Script部分写在打包生成的js段落中就可以了
1 var script = document.createElement("script"); 2 var gameInstance = null; 3 script.src = loaderUrl; 4 script.onload = () => { 5 createUnityInstance(canvas, config, (progress) => { 6 progressBarFull.style.width = 100 * progress + "%"; 7 }).then((unityInstance) => { 8 gameInstance = unityInstance; 9 loadingBar.style.display = "none"; 10 fullscreenButton.onclick = () => { 11 unityInstance.SetFullscreen(1); 12 }; 13 }).catch((message) => { 14 alert(message); 15 }); 16 }; 17 document.body.appendChild(script);
18 var button = document.querySelector("#on-number"); 19 button.onclick = function() { 20 //调用函数 SendMessage 21 gameInstance.SendMessage('Player', 'OnNumber', parseInt(Math.random()*(99)+1,10)); 22 }
button.onclick 用来触发 SendMessage 方法,调用 Unity 中公开暴露的方法 OnNumber
注意点:需要 定义一个 gameInstance 并且暴露出来,在 createUnityInstance 后接收到 unityInstance 并储存,代码第2、第8行。
很多教程/博客并不会说明白这一点,而直接上示例unityInstance.SendMessage发送消息。
unityInstance 并不是可以直接调用的,需要我们获取。
否则就会出现报错 unityInstance/gameInstance is undefined
标签:gameInstance,script,js,JS,Unity,调用,SendMessage,unityInstance 来源: https://www.cnblogs.com/Yunssss/p/15907891.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。