公司新来了个u3d,叫我跟他联调,由于公司之前没有联调过u3d,所以没有人带,所有东西都是自己摸索出来的,如果有更好的方法欢迎大家指导。
直接上我的做法,将u3d给的包放在public下,使用iframe引用。
一开始是在assets文件下引用,结果不行。然后又给u3d起了个服务,通过地址引入资源结果出现了跨域的情况。后面发现应该吧u3d包放在public下面才可以正常引用。因为本次的u3d包是个静态资源,所以我就放到了public下。
<iframe
id="iframe"
src="./HomePageTest/index.html"
frameborder="0"
scrolling="no"
width="100%"
height="100%"
></iframe>
关于u3d与前端vue的沟通问题,u3d那边只给了我一个方法,就是他那边点击一个按钮就会触发这个方法,对于这个要咋用我一开始是懵的,后面试出来一种可行的方法。
在u3d包的index.html文件,在他给的方法里调用父页面的方法,如下:
function ReceiveUnity(s) {
window.parent.show(s);
}
在vue组件里将调用的方法挂载在window下。
window.show = this.show;
如果后面有新的问题会更新这个文章。我感觉现在这种做法有问题,但因为水平有限,连哪有问题都看不出来,更别提新的解决办法了,如果有大佬告诉我其他的方法那就再感谢不过了。