cocos基础工程
This commit is contained in:
94
client-cocos/BUILD_PHYSICS_GUIDE.md
Normal file
94
client-cocos/BUILD_PHYSICS_GUIDE.md
Normal file
@@ -0,0 +1,94 @@
|
||||
# Pinball Physics 构建指南
|
||||
|
||||
这个脚本用于构建物理引擎并生成客户端所需的 WASM 和 asm.js 文件。
|
||||
|
||||
## 使用方法
|
||||
|
||||
```batch
|
||||
# 在 client-cocos 目录下运行
|
||||
|
||||
# 构建 debug 版本(默认)
|
||||
build-physics.bat
|
||||
|
||||
# 或显式指定 debug
|
||||
build-physics.bat debug
|
||||
|
||||
# 构建 release 版本(推荐用于生产环境)
|
||||
build-physics.bat release
|
||||
```
|
||||
|
||||
## 构建流程
|
||||
|
||||
1. **编译物理引擎**
|
||||
- 进入 `../pinball-physics` 目录
|
||||
- 执行 `cargo build --target wasm32-unknown-unknown [--release]`
|
||||
|
||||
2. **拷贝 WASM 文件**
|
||||
- 源文件: `../pinball-physics/target/wasm32-unknown-unknown/[模式]/pinball_physics.wasm`
|
||||
- 目标文件: `assets/wasm/pinball_physics.bin`
|
||||
|
||||
3. **生成 asm.js**
|
||||
- 使用 `../tools/emscripten/gen-asm.bat` 工具
|
||||
- 输出: `assets/wasm/pinball_physics.js`
|
||||
|
||||
## 输出文件
|
||||
|
||||
构建完成后,会在 `assets/wasm/` 目录下生成:
|
||||
|
||||
- **pinball_physics.bin** - WebAssembly 二进制文件
|
||||
- **pinball_physics.js** - asm.js 文件(用于兼容性)
|
||||
|
||||
## 前置要求
|
||||
|
||||
1. **Rust 环境**
|
||||
```batch
|
||||
# 安装 Rust
|
||||
# 访问 https://rustup.rs/
|
||||
|
||||
# 添加 WebAssembly 目标
|
||||
rustup target add wasm32-unknown-unknown
|
||||
```
|
||||
|
||||
2. **Emscripten 环境**
|
||||
```batch
|
||||
# 安装 Emscripten
|
||||
tools\emscripten\install.bat
|
||||
```
|
||||
|
||||
## 故障排除
|
||||
|
||||
### 常见错误
|
||||
|
||||
1. **未找到 Rust 编译器**
|
||||
- 确保已安装 Rust
|
||||
- 检查 PATH 环境变量
|
||||
|
||||
2. **未找到物理引擎项目**
|
||||
- 确保在正确的目录运行脚本
|
||||
- 检查 `../pinball-physics/Cargo.toml` 是否存在
|
||||
|
||||
3. **Emscripten 转换失败**
|
||||
- 确保已运行 `tools\emscripten\install.bat`
|
||||
- 检查 Emscripten 环境是否正确设置
|
||||
|
||||
4. **权限错误**
|
||||
- 确保对输出目录有写权限
|
||||
- 尝试以管理员身份运行
|
||||
|
||||
### 调试技巧
|
||||
|
||||
- 查看详细的错误信息和文件路径
|
||||
- 检查各个步骤的输出文件是否正确生成
|
||||
- 验证文件大小是否合理
|
||||
|
||||
## 使用建议
|
||||
|
||||
1. **开发阶段**: 使用 `debug` 模式,编译速度更快
|
||||
2. **生产环境**: 使用 `release` 模式,性能更好,文件更小
|
||||
3. **兼容性**: asm.js 文件主要用于不支持 WebAssembly 的老旧浏览器
|
||||
|
||||
## 相关文件
|
||||
|
||||
- `../pinball-physics/` - 物理引擎 Rust 项目
|
||||
- `../tools/emscripten/` - Emscripten 工具集
|
||||
- `assets/wasm/` - 输出目录
|
||||
Reference in New Issue
Block a user