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

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