mirror of
				https://github.com/unanmed/HumanBreak.git
				synced 2025-10-30 02:42:57 +08:00 
			
		
		
		
	人类:开天辟地
			
		
		| .github/workflows | ||
| .vscode | ||
| public | ||
| script | ||
| src | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc | ||
| 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