⛑️
[Bevy] Resourceを作る
BevyのResourceは独立したグローバルなデータです。ユニークでなければいけないので、例えばゲームの音量とかボタンの設定などに使えます。
Bevyのバージョンは0.15.3です。
// まずリソースの構造体を定義します
#[derive(Resource)]
struct MyResource{
hoge: u16,
// Other attributes
}
// リソースのデフォルトの値を定義します
impl Default for MyResource{
fn default() -> MyResource{
MyResource{
hoge: 1,
// Other attributes
}
}
}
// アプリでリソースを初期化します。デフォルトの値が割り当てられます
fn main(){
App::new()
.add_plugins(DefaultPlugins)
.init_resource::<MyResource>()
.add_systems(Startup, setup)
.run();
}
// システム内でリソースを扱えるようになります
fn setup(
mut my_res: ResMut<MyResource>,
){
println!("my_res.hoge: {}", my_res.hoge) // 1
my_res.hoge = 2;
println!("updated my_res.hoge: {}", my_res.hoge) // 2
}
参考
Discussion