banner
[面包]MrTwoC

[面包]MrTwoC

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

[0x05]Bevy-プラグイン

参考記事
Bevy のコア原則の 1 つは、モジュール化です。Bevy エンジンのすべての機能は、プラグインとして実装されたコードのコレクションです。これには、レンダラなどの内部機能も含まれますが、ゲーム自体もプラグインとして実装されています!これにより、開発者は必要な機能を選択できます。UI は必要ありませんか?UiPluginを登録しないでください。ヘッドレスサーバを構築したいですか?RenderPluginを登録しないでください。
これはまた、好きではないコンポーネントを自由に交換できることを意味します。必要に応じて、独自のUiPluginを作成することも歓迎しますが、役に立つと思う場合は、Bevy に貢献することを検討してください
Bevy に貢献せずに個別にリリースされたものは、サードパーティのプラグインです。これらは、他の開発者が作成した便利で使いやすいプラグインであり、車輪の再発明を避けるのに役立ちます。これらを使用するには、次の手順に従ってください:

  1. サードパーティの Bevy プラグインを見つけます(たとえば、アセットページのプラグイン)。
  2. それを Cargo.toml の [dependencies] にボックスとして追加します。
  3. crate からコード定義をインポートして、アイテムをワークスペースに追加します。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

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。