5 releases
0.1.4 | Jan 30, 2021 |
---|---|
0.1.3 | Jan 3, 2021 |
0.1.2 | Jan 3, 2021 |
0.1.1 | Dec 31, 2020 |
0.1.0 | Dec 21, 2020 |
#208 in #render
27 downloads per month
77KB
1K
SLoC
bevy_megaui
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_megaui
in WASM you need bevy_webgl2 of at least 0.4.1
version.
Usage
Here's a minimal usage example:
# Cargo.toml
[dependencies]
bevy = "0.4"
bevy_megaui = "0.1"
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
Dependencies
~26–68MB
~683K SLoC