banner
[面包]MrTwoC

[面包]MrTwoC

你好,欢迎来到这个基于区块链的个人博客 名字:面包 / MrTwoc 爱好:跑步(5/10KM)、咖啡、游戏(MMORPG、FPS、Minecraft、Warframe) 兴趣方向:Rust、区块链、网络安全、量子信息(量子计算)、游戏设计与开发
bilibili
steam
email
github

[0x05]Bevy-Plugin

Reference Article
Bevy 的核心原則之一是模塊化。所有 Bevy 引擎功能都作為插件 --- 代碼集合實現,用於修改應用程序。這包括渲染器等內部功能,但遊戲本身也是作為插件實現的!這使開發人員能夠選擇他們想要的功能。不需要 UI?不要註冊 UiPlugin。想要構建無頭服務器?不要註冊 RenderPlugin
這也意味著您可以自由更換任何您不喜歡的組件。如果你覺得有必要,歡迎你建立自己的 UiPlugin,但如果你認為它有用,可以考慮將其貢獻給 Bevy
那些沒有貢獻給 Bevy 而是單獨發布的是第三方插件。這些是有用且易於使用的插件,由其他開發人員創建,可以幫助您避免重新發明輪子。要使用它們,您所要做的就是:

  1. 查找第三方 Bevy 插件(例如資產頁面上的插件)。
  2. 將其作為板條箱添加到您的板條箱中。Cargo.toml [dependencies]
  3. 從 crate 導入代碼定義 (like ) 以將項添加到工作區。use third_party::prelude::*;
  4. 將插件添加到您的應用(例如 )。app.add_plugins (third_party_plugin)

但是,大多數開發人員不需要自定義體驗,只需要輕鬆的 “完整引擎” 體驗。為此,Bevy 提供了一組 DefaultPlugins

use bevy::prelude::*;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .run();
}
cargo run

image.png
接下來,自己實現一個插件,並打印 "Hello World!"

use bevy::prelude::*;

//為了更好地組織,讓我們將所有“hello”邏輯移動到插件中。要創建一個插件,我們只需要實現插件接口。將以下代碼添加到您的文件中:main.rs
pub struct HelloPlugin;
impl Plugin for HelloPlugin {
    fn build(&self, app: &mut App) {
        app.add_systems(Startup, hello_world);

    }
}

fn main() {
    App::new()
        .add_plugins((DefaultPlugins, HelloPlugin))
        .run();
}

fn hello_world() {
    println!("HelloWorld!")
}
cargo run

image.png

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。