作業メモ:bevy 0.7 → 0.8
2022/08/13現在githubでv.0.8.1が準備中っぽいので、作業は少し待った方がいいかもしれない。
だがとりあえずやる。
UIカメラは、他のカメラに統合されてspawn不要になった。
2Dカメラのspawnの書き方がまた変わった。(想像つくと思うけど3Dカメラもね)
//bevyのカメラの設置
pub fn spawn_camera( mut cmds: Commands )
{ cmds.spawn_bundle( UiCameraBundle::default() );
cmds.spawn_bundle( OrthographicCameraBundle::new_2d() );
}
//bevyのカメラの設置
pub fn spawn_camera( mut cmds: Commands )
{ cmds.spawn_bundle( Camera2dBundle::default() );
}
レイアウト用の隠し親ノード作成にVisibility
を利用することができなくなった。(0.8のVisibility Inheritanceにより子ノードが強制非表示になる)
代わりにUiColor ( Color::NONE )
(透明色)が使える。
//レイアウト用に隠しフレームを作る
fn hidden_frame( style: Style ) -> NodeBundle
{ let visibility = Visibility { is_visible: false };
NodeBundle { style, visibility, ..default() }
}
//レイアウト用に隠しフレームを作る
fn hidden_frame( style: Style ) -> NodeBundle
{ let color = UiColor ( Color::NONE );
NodeBundle { style, color, ..default() }
}
思いのほか、自作ピコゲーが簡単に動いてしまった。
お世話になっているcrateでbevy_prototype_lyon
もbevy_kira_audio
も0.8対応版がリリース済みだったので、切り替えもあっさり。
残件はアプリクローズ時にINFOがバンバン出力される件だけど‥‥
2022-08-13T11:56:34.378948Z INFO symphonia_core::probe: found the format marker [4f, 67, 67, 53] @ 0+2 bytes.
2022-08-13T11:56:34.379554Z INFO symphonia_format_ogg::demuxer: starting new physical stream
2022-08-13T11:56:34.380072Z INFO symphonia_format_ogg::demuxer: selected vorbis mapper for stream with serial=0xba61ecd9
2022-08-13T11:56:38.671491Z INFO bevy_winit: Skipped event for closed window: WindowId(00000000-0000-0000-0000-000000000000)
2022-08-13T11:56:38.688327Z INFO bevy_winit: Skipped event for closed window: WindowId(00000000-0000-0000-0000-000000000000)
2022-08-13T11:56:38.688837Z INFO bevy_winit: Skipped event for closed window: WindowId(00000000-0000-0000-0000-000000000000)
2022-08-13T11:56:38.689358Z INFO bevy_winit: Skipped event for closed window: WindowId(00000000-0000-0000-0000-000000000000)
2022-08-13T11:56:38.691301Z INFO bevy_winit: Skipped event for closed window: WindowId(00000000-0000-0000-0000-000000000000)
2022-08-13T11:56:38.691906Z INFO bevy_winit: Skipped event for closed window: WindowId(00000000-0000-0000-0000-000000000000)
2022-08-13T11:56:38.693238Z INFO bevy_winit: Skipped event for closed window: WindowId(00000000-0000-0000-0000-000000000000)
たぶんきっとBevy v0.8.1で治るはず。多分この辺のPRで。
githubでBevy v0.8.1がリリースされてた。ので、使う場合は Cargo.toml
でリポジトリの該当コミットを指定する必要があった。Cargo.lock
ファイル削除➡target
フォルダ削除➡cargo update
実行➡cargo run
したらv0.8.1が読み込まれた。
サードパーティーのプラグインが0.8.1対応しないと単純に切り替えることはできないかも。
0.8では基本的な図形のMeshが内蔵された。bevy_prototype_lyon
を利用していたが、依存を減らすに越したことはないと思ったので切り替えた。
番外編
bevy_kira_audio
を0.11.0
から0.12.0
へ切り替えた。use
に追加が必要だった。
use bevy_kira_audio::{ Audio, AudioPlugin };
use bevy_kira_audio::{ Audio, AudioPlugin, AudioControl };