0


关于unity发布webgl嵌入vue项目通信方法

以下总结主要是前端的嵌入方法

1.引入webgl文件

将unity导出的webgl文件包放至vue项目的public下面

2.在webgl下的index.html添加通信方法,如图

附上代码:

  1. var unityInstanceV;
  2. function ReportReady() {//初始化
  3. window.parent.postMessage({ guid: "", event: "ReportReady" }, "*");
  4. }
  5. function TestSend(data)//unity发消息给vue
  6. {
  7. window.parent.postMessage(JSON.parse(data), "*");
  8. }
  9. /**
  10. * GameManager:unity中绑定方法的物体
  11. * receiveMsgFromVue:unity中的方法
  12. * */
  13. function sendMsgToUnity(obj) { //vue发消息给unity
  14. unityInstanceV.SendMessage('GameManager', 'receiveMsgFromVue', JSON.stringify(obj))
  15. }

3.页面通过iframe引入webgl

4.具体业务功能中给unity发送消息,调用webgl中写的方法

  1. this.$refs.unityIframe.contentWindow.sendMsgToUnity(data);

5.监听unity给vue发消息,注意需要销毁监听事件

  1. mounted() {
  2. window.addEventListener("message", this.getUnityData); //监听unity给vue发消息
  3. }
  4. getUnityData(e){
  5. if (e.data.eventName == "初始化" || e.data.eventName == "请求数据") {
  6. //通过eventName判断事件名称
  7. }
  8. },

本文转载自: https://blog.csdn.net/qq_42647677/article/details/135439815
版权归原作者 @Moment 所有, 如有侵权,请联系我们删除。

“关于unity发布webgl嵌入vue项目通信方法”的评论:

还没有评论