The Bevy Book - 2.1 设置
设置
我知道你渴望开始制作游戏,但我们首先需要做少量的设置。
Rust设置
所有 Bevy 应用程序和引擎代码都是用 Rust 编写的。这意味着在我们开始之前,我们需要设置我们的 Rust 开发环境。
安装Rust
按照 Rust 入门指南安装 Rust。
完成此操作后,path中就有了rustc编译器和cargo生成系统。
安装操作系统依赖项
- Linux
- Windows:确保安装VS2019构建工具
- MacOS:这里没有依赖关系
代码编辑器/集成开发环境
您可以使用任何您想要的代码编辑器,但我们强烈建议使用具有 Rust Analyzer 插件的编辑器。Rust Analyzer仍在开发中,但它已经提供了顶级的自动完成和代码智能。Visual Studio Code 有一个官方支持的 Rust Analyzer Extension。
Rust 学习资源
本书的目标是学习 Bevy,因此它不会作为完整的 Rust 教程。如果您想了解有关 Rust 语言的更多信息,请查看以下资源:
- The Rust Book:从头开始学习 Rust 的最佳场所
- Rust by example:通过实时编码示例学习 Rust
创建一个新的 Bevy 项目
现在我们准备建立一个Bevy项目!Bevy 只是一个普通的 Rust 依赖项。您可以将其添加到现有的 Rust 项目中,也可以创建一个新项目。为了完整性,我们将假设您从头开始。
创建一个新的 Rust 可执行项目
首先,切换到要在其中创建新项目的文件夹。然后,运行以下命令以创建一个包含我们的 rust 可执行项目的新文件夹:
cargo new my_bevy_game
cd my_bevy_game
现在使用 cargo run 生成并运行项目。您应该看到 Hello, world! 打印到您的终端。现在打开 my_bevy_game 文件夹打开下列文件。
main.rs
是程序的入口点:
fn main() {
println!("Hello, world!");
}
Cargo.toml
是您的“项目文件”。它包含有关项目的元数据,例如其名称、依赖项和生成配置。
[package]
name = "my_bevy_game"
version = "0.1.0"
edition = "2021"
[dependencies]
将 Bevy 添加到项目的 Cargo.toml 中
Bevy 在官方 Rust 软件包存储库 crates.io 上作为一个包提供。最新版本号(), 将其添加到 Cargo.toml 文件中:
[package]
name = "my_bevy_game"
version = "0.1.0"
edition = "2021" # this needs to be 2021, or you need to set "resolver=2"
[dependencies]
bevy = "0.7" # make sure this is the latest version
Cargo工作区
如果您使用的是 Cargo Workspaces,则还需要将解析程序添加到根目录中的 Cargo.toml 文件中:
[workspace]
resolver = "2" # Important! wgpu/Bevy needs this!
开启快速编译(可选)
在稳定版Rust上,使用默认配置 Bevy 就可以编译。但是如果想最快编译,推荐如下配置:
-
开启Bevy's Dynamic Linking 特性: This is the most impactful compilation time decrease! If is a dependency you can compile the binary with the "dynamic" feature flag (enables dynamic linking). Note that right now, this doesn't work on Windows.
bevy
cargo run --features bevy/dynamic
If you don't want to add the to each run, this flag can permanently be set via :
--features bevy/dynamic
Cargo.toml
[dependencies] bevy = { version = "0.7.0", features = ["dynamic"] }
注意:请记住在发布游戏之前还原此内容!否则,如果您希望游戏运行,则需要将其包含在游戏旁边。如果删除“动态”功能,则游戏可执行文件可以独立运行。
libbevy_dylib
-
LLD 链接器:Rust 编译器在“链接”步骤中花费了大量时间。LLD在链接方面比默认的Rust链接器快得多。要安装LLD,请在下面找到您的操作系统并运行给定的命令:
- Ubuntu:
sudo apt-get install lld
- Arch:
sudo pacman -S lld
- Windows:确保您拥有最新的cargo-binutils
cargo install -f cargo-binutils rustup component add llvm-tools-preview
- MacOS:现代LLD还不支持MacOS,但我们可以使用zld代替:
brew install michaeleisel/zld/zld
- Ubuntu:
-
Nightly Rust Compiler:这可以访问最新的性能改进和“不稳定”优化
在项目的根目录中,在 旁边创建一个文件。
rust-toolchain.toml
Cargo.toml
[toolchain] channel = "nightly"
有关更多信息,请参阅 The rustup book: Overrides。
构建 Bevy
现在再次运行。Bevy 依赖项应该开始构建。这将需要一些时间,因为您基本上是从头开始构建引擎。您只需要进行一次完全重建。在此之后的每个构建都将很快!cargo run
现在我们已经设置了Bevy项目,我们准备开始制作我们的第一个Bevy应用程序!