搭建Vue3项目,如何将Cocos Creator的WebGL平台构建包,引入到Vue3项目?不使用iframe内嵌,各位社区大佬有解决办法吗?提供星巴克,霸王茶姬、奈雪、瑞幸等报销。
有问题GhatGPT
1. 构建 Cocos Creator 的 WebGL 项目
在 Cocos Creator 中,将项目构建为 Web 平台:
- 打开 Cocos Creator,选择
Project -> Build。 - 选择
WebGL平台并构建项目。生成的构建文件夹将包含一个index.html文件和若干资源文件(如main.js,cocos2d-js.js)。
2. 将 Cocos Creator 构建文件复制到 Vue 项目中
- 将 Cocos Creator 生成的
build文件夹(包含index.html、JS 文件和资源)复制到 Vue3 项目的public目录中,或者放置在src/assets目录中。
3. 在 Vue3 项目中引入 Cocos Creator 的脚本
在 Vue3 组件中,你可以通过动态脚本加载的方式引入 Cocos Creator 的脚本,避免使用 iframe。
创建一个 Vue3 组件来加载并运行 Cocos Creator 的 WebGL 包:
vue
复制代码
<template>
<div id="gameContainer"></div>
</template>
<script setup>
import { onMounted } from 'vue'
onMounted(() => {
const gameScript = document.createElement('script');
gameScript.src = '/build/main.js'; // 指向 Cocos Creator 打包后的 main.js
gameScript.async = true;
gameScript.onload = () => {
// 在脚本加载完成后,初始化游戏
if (window.cc) {
window.cc.game.run({
id: 'gameContainer', // Cocos Creator 的容器 ID
// 其他初始化参数
});
}
};
document.body.appendChild(gameScript);
});
</script>
4. 在 Vue3 项目中运行 Cocos 游戏
- 通过上面的代码,当组件加载时,会动态加载
Cocos Creator的main.js脚本,并将 WebGL 游戏嵌入到 Vue 的div#gameContainer中。 - 确保脚本路径正确指向
build文件夹中的main.js。
5. 处理资源路径问题
如果你将 Cocos Creator 构建包放在 public 文件夹中,确保资源路径是相对路径,或者在 main.js 中手动修改路径以适应 Vue3 项目目录结构。
通过这种方式,你可以在 Vue3 项目中直接集成 Cocos Creator 的 WebGL 游戏,而无需使用 iframe。
用一个Canvas就好了呀,然后把这个canvas设置为cocos的渲染区
在CocosStore搜Vue,不过这个的设计思路是以Cocos工程为主,不是Vue工程为主

我尝试了ChatGPT提出的解决方法,但是在 ‘‘ 在Vue3 项目中引入 Cocos Creator 的脚本” 时间遇到了问题;Cocos creator 打包后,其目录下存在index.js和application.js,在onload步骤,就开始出问题了。
大佬你好,方便细说吗?加我v,acegain
cocos的输出都在一个canvas下, 你在vue的html里想办法把这个canvas搞进去
