Rust Bevyゲーム開発記録 その1 画像を表示する
TL;DR
- 本家サンプル
詳細
- Struct bevy::prelude::Commands
- コマンドを使用することで、エンティティの出現やコンポーネントの生成削除、リソースの管理ができる。
- Struct bevy::prelude::AssetServer
- ファイルシステムからアセットを取得する
- AssetServer#load()にファイルパスを指定して Handler<Texture>を取得している。
- このHandlerでアセットを操作することができる。
- 指定するファイルパスは、デフォルトではsrcフォルダと同階層にあるassetsフォルダからのパスを指定するようだ。
- Struct bevy::prelude::OrthographicCameraBundle
- 正射影カメラ
- 2Dゲームやタクティクスゲームのような視点を表現
- コマンドに、SpriteBundleを渡すと画像が表示される。
- SpritBundleとHandlerを紐づける必要がある。
- 画像は指定がなければ、(0, 0)の位置、つまりど真ん中に表示される。
fn setup_sprite_system( mut commands: Commands, asset_server: Res<AssetServer>, mut materials: ResMut<Assets<ColorMaterial>>, ) { let texture_handle = asset_server.load("images/bar128x32.png"); commands.spawn_bundle(OrthographicCameraBundle::new_2d()); commands.spawn_bundle(SpriteBundle { material: materials.add(texture_handle.into()), ..Default::default() }).insert(Bar{speed: 10.0}); }