mirror of
https://github.com/unanmed/HumanBreak.git
synced 2025-10-28 01:42:59 +08:00
人类:开天辟地
| .github/workflows | ||
| .vscode | ||
| public | ||
| script | ||
| src | ||
| .gitignore | ||
| .prettierignore | ||
| babel.config.json | ||
| components.d.ts | ||
| idea.md | ||
| index.html | ||
| LICENSE | ||
| mota.config.ts | ||
| package.json | ||
| pnpm-lock.yaml | ||
| README.md | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| update_record.md | ||
| vite.config.ts | ||
魔塔 人类:开天辟地
游戏地址:https://h5mota.com/tower/?name=HumanBreak
项目结构
public: mota-js 样板所在目录,该塔对样板的目录进行了一定的魔改,其中插件全部移动到src/plugin/game文件夹中,并使用了es模块化
src: 游戏除样板核心代码外所有内容所在目录,所有内容支持typescript。其中包含以下内容:
core: 游戏除样板外的的核心代码,包括加载和一些基础功能等plugin: 所有相关插件的源码,其中包含多个文件夹,内有不同的内容,其中game文件夹与游戏进程有关,不能涉及dom等node无法运行的操作,否则录像验证会报错ui: 所有 ui 的 vue 源码panel: ui 中用到的部分面板components: 所有 ui 的通用组件data: 数据文件,包含百科全书的内容、成就的内容等fonts: ui 中用到的字体文件types: mota-js 的类型声明文件source: mota-js 的图块等资源的类型声明文件,会通过热重载更新initPlugin.ts: 所有插件的入口文件main.ts: 主入口,会将App.vue与App2.vue渲染到 html 上
script: 在构建、发布等操作时会用到的 node 脚本
vite.config.ts: vite的配置文件
mota.config.ts: 魔塔配置文件
开发说明
- 首先请确保你安装了
node.js与pnpm - 将项目拉到你的设备上
- 运行
pnpm i以安装所有依赖包 - 在根目录运行
pnpm run dev以启动vite服务和样板的http服务与热重载服务 - 打开
vite提供的网址即可进入游戏 - 打开样板服务提供的网址即可进入编辑器
构建说明
- 运行
pnpm run build以打包以/games/HumanBreak/为目录的构建包 - 运行
pnpm run build-local以打包以/为目录的本地构建包 - 运行
pnpm run build-gh以打包以/HumanBreak/为目录的可部署到github pages的构建包
构建流程
- 运行
vue-tsc检查类型是否正确 - 运行
vite的构建工具,打包除public外的内容 - 运行
script/build.ts,首先去除未使用的文件(即全塔属性中未注册的文件),然后压缩字体,再用rollupterser及babel压缩插件与main.js
热重载说明
支持以下内容的热重载:
vite热重载- 楼层热重载
- 脚本编辑热重载
- 道具、怪物、图块属性热重载
- styles.css
以下内容修改后会自动刷新页面
vite提供的自动刷新页面- 全塔属性
- libs/下的文件
- main.js