Expand description
This crate provides a megaui integration for the Bevy game engine.
bevy_megaui depends solely on megaui and bevy with only render feature required.
§Trying out
An example WASM project is live at mvlabat.github.io/bevy_megaui_web_showcase [source].
Note that in order to use bevy_megauiin WASM you need bevy_webgl2 of at least 0.4.1 version.
§Usage
Here’s a minimal usage example:
use bevy::prelude::*;
use bevy_megaui::{
megaui::{hash, Vector2},
MegaUiContext, MegaUiPlugin,
};
fn main() {
App::build()
.add_plugins(DefaultPlugins)
.add_plugin(MegaUiPlugin)
.add_system(ui_example.system())
.run();
}
fn ui_example(_world: &mut World, resources: &mut Resources) {
let mut ui = resources.get_thread_local_mut::<MegaUiContext>().unwrap();
ui.draw_window(
hash!(),
Vector2::new(5.0, 5.0),
Vector2::new(100.0, 50.0),
None,
|ui| {
ui.label(None, "Hello world!");
},
);
}For a more advanced example, see examples/ui.rs.
cargo run --example ui --features="bevy/x11 bevy/png bevy/bevy_wgpu"§See also
Re-exports§
pub use megaui;
Modules§
- node
- The names of
bevy_megauinodes.
Structs§
- Mega
UiContext - A resource that is used to store
bevy_megauicontext. Since megaui::Ui doesn’t implement Send + Sync, it’s accessible only from thread-local systems. - Mega
UiPlugin - Adds all megaui resources and render graph nodes.
- Mega
UiSettings - A resource containing global UI settings.
- Window
Params - Params that are used for defining a window with MegaUiContext::draw_window.
Constants§
- MEGAUI_
PIPELINE_ HANDLE - A handle pointing to the megaui PipelineDescriptor.
- MEGAUI_
TEXTURE_ RESOURCE_ BINDING_ NAME - Name of the texture uniform.
- MEGAUI_
TRANSFORM_ RESOURCE_ BINDING_ NAME - Name of the transform uniform.