Closed7

作業メモ:bevy 0.7 → 0.8

hyoihyoi

2022/08/13現在githubでv.0.8.1が準備中っぽいので、作業は少し待った方がいいかもしれない。
だがとりあえずやる。

hyoihyoi

UIカメラは、他のカメラに統合されてspawn不要になった。
2Dカメラのspawnの書き方がまた変わった。(想像つくと思うけど3Dカメラもね)

0.7
//bevyのカメラの設置
pub fn spawn_camera( mut cmds: Commands )
{   cmds.spawn_bundle( UiCameraBundle::default() );
    cmds.spawn_bundle( OrthographicCameraBundle::new_2d() );
}
0.8
//bevyのカメラの設置
pub fn spawn_camera( mut cmds: Commands )
{   cmds.spawn_bundle( Camera2dBundle::default() );
}
hyoihyoi

レイアウト用の隠し親ノード作成にVisibilityを利用することができなくなった。(0.8のVisibility Inheritanceにより子ノードが強制非表示になる)
代わりにUiColor ( Color::NONE )(透明色)が使える。

0.7
//レイアウト用に隠しフレームを作る
fn hidden_frame( style: Style ) -> NodeBundle
{   let visibility = Visibility { is_visible: false };

    NodeBundle { style, visibility, ..default() }
}
0.8
//レイアウト用に隠しフレームを作る
fn hidden_frame( style: Style ) -> NodeBundle
{   let color = UiColor ( Color::NONE );

    NodeBundle { style, color, ..default() }
}
hyoihyoi

思いのほか、自作ピコゲーが簡単に動いてしまった。
お世話になっているcrateでbevy_prototype_lyonbevy_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で。
https://github.com/bevyengine/bevy/pull/5558

hyoihyoi

githubでBevy v0.8.1がリリースされてた。
https://github.com/bevyengine/bevy/releases/tag/v0.8.1
8/19 21:00 JST時点でcrates.ioのbevyは0.8.0のままだった ので、使う場合はCargo.tomlでリポジトリの該当コミットを指定する必要があった。 Cargo.lockファイル削除➡targetフォルダ削除➡cargo update実行➡cargo runしたらv0.8.1が読み込まれた。
サードパーティーのプラグインが0.8.1対応しないと単純に切り替えることはできないかも。

hyoihyoi

番外編
bevy_kira_audio0.11.0から0.12.0へ切り替えた。useに追加が必要だった。

bevy_kira_audio v0.11.0
use bevy_kira_audio::{ Audio, AudioPlugin };
bevy_kira_audio v0.12.0
use bevy_kira_audio::{ Audio, AudioPlugin, AudioControl };
このスクラップは2022/08/28にクローズされました