如何使用本书
版本锁定:0.18.1
全书基于 Bevy 0.18.1 写作,每一段代码都在这个版本上编译验证过。上一节你也看到了:Bevy 迭代快、每版有破坏性变更,所以“锁死版本”是教程能保持精确的唯一办法。
会不会很快过时?比想象中慢得多。本书教的内容九成是概念——ECS 如何组织世界、调度如何排序、资产如何异步加载——这些跨版本高度稳定;版本之间变的多是具体函数签名和类型名。读完本书后跟进新版本,靠官方迁移指南就够了,附录 E 专门讲这件事的方法论。
配套代码仓库
本书正文里的每一段 Rust/TOML 代码,都不是写在文稿里的片段,而是从配套仓库 code/ 目录下真实存在、通过编译的项目文件中原样引入的。每章对应一个 crate(如 ch03-ecs-basics),章内的多个阶段版本放在该 crate 的 examples/ 里,与正文的 Listing 编号一一对应。
也就是说:书里的代码和能跑的代码,物理上是同一份文件,不存在“书上的代码跑不起来”这回事。各章开头会注明本章示例的运行方式。
术语约定
Bevy 的专有名词一律保留英文原词:Entity、Component、System、Resource、Query、Plugin、Schedule、Asset……每个词首次出现时给出一句中文解释。
这不是偷懒。你最终要面对的官方文档、源码、编译报错和社区讨论全部使用英文术语,现在多记一套中文译名,将来反而要在脑子里多做一次翻译。
读源码:本书最想教会你的元技能
Bevy 没有大而全的官方手册,但它有两样更好的东西:
- 375 个官方示例(仓库的
examples/目录),几乎每个功能都有一个最小可运行示例,是官方维护的“活文档”; - 组织清晰的源码。Bevy 按功能拆成 55 个 crate,加上 Rust 良好的文档生成(docs.rs/bevy),“点进去看定义”通常比搜索引擎更快得到准确答案。
强烈建议你照做一件事——把 Bevy 源码 clone 一份放在手边:
git clone --depth 1 --branch v0.18.1 https://github.com/bevyengine/bevy.git配合 IDE 的“跳转到定义”,任何 API 拿不准时直接看它的实现和文档注释。本书自己也是对照这份源码写成的;当你读完全书,希望“遇事先查源码”已经成为你的肌肉记忆——那时你就不再需要任何教程了。
小结
- 游戏引擎 = 基础设施 + 代码组织方式;Bevy 的组织方式是 ECS,渗透引擎每个角落
- ECS 把世界看作一张表:Entity 是行号、Component 是列、System 是“查询 + 处理”;它与 Rust 的借用规则天然契合,换来免费的并行
- 环境要求 Rust ≥ 1.89.0;首次编译慢是一次性成本,
opt-level分级配置 +dynamic_linking能大幅改善日常迭代 - 全书锁定 Bevy 0.18.1;术语保留英文;查官方示例与源码是贯穿全书的元技能
下一章,写下你的第一个 Bevy 程序——并且让屏幕上有东西动起来。