可以使用Bevy窗口事件监听器来控制窗口的可见性。具体做法是:
use bevy::prelude::*;
fn main() {
let mut app = App::build();
app.add_plugins(DefaultPlugins);
app.add_event::();
app.add_startup_system(hide_window_system.system().after(StartupStage::Window));
app.run();
}
fn hide_window_system(mut windows: ResMut, window_events: Res>) {
if let Some(window_created_events) = window_events.iter().next() {
if let Some(window) = windows.get_window(window_created_events.id) {
window.set_visible(false);
}
}
}
use bevy::prelude::*;
fn main() {
let mut app = App::build();
app.add_plugins(DefaultPlugins);
app.add_system_set(
SystemSet::on_update(AppState::Playing)
.with_system(show_window_system.system())
);
app.run();
}
fn show_window_system(mut windows: ResMut, time: Res
use bevy::prelude::*;
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
enum AppState {
Loading,
Playing,
}
fn main() {
let mut app = App::build();
app.add_plugins(DefaultPlugins);
app.init_resource::();
app.add_system_set(
SystemSet::on_enter(AppState::Playing)
.with_system(show_window_system.system())
);
app.run();
}
至此,我们就完成了在Bevy中启动游戏时隐藏窗口的操作。