The Bevy Book - 2.1 設定
設定
我知道你渴望開始製作遊戲,但我們首先需要做少量的設定。
Rust設定
所有 Bevy 應用程式和引擎程式碼都是用 Rust 編寫的。這意味著在我們開始之前,我們需要設定我們的 Rust 開發環境。
安裝Rust
按照 Rust 入門指南安裝 Rust。
完成此操作後,path中就有了rustc編譯器和cargo生成系統。
安裝作業系統依賴項
- Linux
- Windows:確保安裝VS2019構建工具
- MacOS:這裡沒有依賴關係
程式碼編輯器/整合開發環境
您可以使用任何您想要的程式碼編輯器,但我們強烈建議使用具有 Rust Analyzer 外掛的編輯器。Rust Analyzer仍在開發中,但它已經提供了頂級的自動完成和程式碼智慧。
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應用程式!