我正在尝试将Unity构建嵌入到VueJS组件中。 Unity项目是在4.0中制作的,这太糟糕了,因为这意味着我无法使用:https://github.com/votetake/vue-unity-webgl。此版本的Unity使用UnityLoader.js脚本在浏览器中加载项目。它需要访问一些Module变量,但无法访问它们。
目前它发出错误:
未捕获的TypeError:无法读取undefined的属性'compatibilitycheck' 在UnityLoader.js:2
以下是Vue组件:
<template>
<div class="Virtual Avatar">
<canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()" height="600px" width="960px"></canvas>
</div>
</template>
<script>
export default {
data: function () {
return {
Module: {
TOTAL_MEMORY: 268435456,
errorhandler: null,
compatibilitycheck: null,
backgroundColor: "#80858B",
splashStyle: "Dark",
dataUrl: "../../static/virtual-avatar/Release/virtual-avatar.data",
codeUrl: "../../static/virtual-avatar/Release/virtual-avatar.js",
asmUrl: "../../static/virtual-avatar/Release/virtual-avatar.asm.js",
memUrl: "../../static/virtual-avatar/Release/virtual-avatar.mem",
}
}
},
created() {
var Module = this.Module
console.log(Module)
let unityLoaderScript = document.createElement('script')
unityLoaderScript.setAttribute('src', '../../static/virtual-avatar/Release/UnityLoader.js')
document.head.appendChild(unityLoaderScript)
let unityProgressScript = document.createElement('script')
unityProgressScript.setAttribute('src', '../../static/virtual-avatar/TemplateData/UnityProgress.js')
document.head.appendChild(unityProgressScript)
let unityTextToSpeechScript = document.createElement('script')
unityTextToSpeechScript.setAttribute('src', '../../static/virtual-avatar/TemplateData/textToSpeech.js')
document.head.appendChild(unityTextToSpeechScript)
}
}
是否有另一种方法可以向Vue组件添加变量?或者有更好的方法来附加外部脚本吗?并且是一个能够访问这些变量的外部脚本吗?提前谢谢!