8000 add bevy_quickmenu entry · terhechte/rust-gamedev.github.io@7586594 · GitHub
[go: up one dir, main page]

Skip to content

Commit 7586594

Browse files
committed
add bevy_quickmenu entry
1 parent 8cc031f commit 7586594

File tree

2 files changed

+46
-2
lines changed

2 files changed

+46
-2
lines changed

content/news/040/bevy_quickmenu.gif

126 KB
Loading

content/news/040/index.md

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,6 @@ _Discussions: [StarWolves.io Bulletin Board]_
167167
[StarWolves.io Bulletin Board]: https://starwolves.io
168168
[Star Wolves]: https://starwolves.io
169169
[development journal]: https://starwolves.io/showthread.php?tid=1
170-
[Bevy]: https://bevyengine.org/
171170
[Space Frontiers]: https://github.com/starwolves/space
172171
[GitHub]: https://github.com/starwolves/space
173172
[open-source]: https://github.com/starwolves/space
@@ -333,7 +332,52 @@ commands
333332
[Bevy Sequential Actions]: https://crates.io/crates/bevy-sequential-actions
334333
[seq-actions-gh]: https://github.com/hikikones/bevy-sequential-actions
335334
[seq-actions-docs]: https://docs.rs/bevy-sequential-actions
336-
[bevy]: https://bevyengine.org
335+
336+
### [Bevy Quickmenu]
337+
338+
![Bevy Quickmenu simple menu demo](bevy_quickmenu.gif)
339+
340+
bevy_quickmenu ([crates.io](https://crates.io/crates/bevy_quickmenu),
341+
[docs.rs](https://docs.rs/bevy_quickmenu),
342+
[GitHub](https://github.com/terhechte/bevy_quickmenu))
343+
allows quickly creating nested game menus that can be navigated with
344+
keyboard, gamepad or mouse.
345+
346+
Bevy Quickmenu builds on BevyUI and allows defining nested menu structures in
347+
a super simple way. Its also very extensible and customisable.
348+
If you game needs menus and you would like to support multiple input methods,
349+
give it a try.
350+
351+
For example, a simple vertical menu can be defined like this:
352+
353+
```rust
354+
fn root_menu(state: &CustomState) -> Menu<Actions, Screens, CustomState> {
355+
Menu::new(
356+
"root",
357+
vec![
358+
MenuItem::image(state.logo.clone()),
359+
MenuItem::headline("Menu"),
360+
MenuItem::action("Start", Actions::Close),
361+
MenuItem::screen("Sound", Screens::Sound)
362+
.with_icon(MenuIcon::Sound),
363+
MenuItem::screen("Controls", Screens::Controls)
364+
.with_icon(MenuIcon::Controls),
365+
],
366+
)
367+
}
368+
```
369+
370+
For a more involved example, check out [this definition of a settings
371+
screen with control device selection and a sound
372+
menu.](https://github.com/terhechte/bevy_quickmenu/blob/main/examples/settings.rs)
373+
374+
[Version `0.1.5`]
375+
(<https://github.com/terhechte/bevy_quickmenu/releases/tag/0.1.5>)
376+
was just released which simplifies generics and makes
377+
it easier to create dynamic menus.
378+
379+
_Discussion:
380+
[/r/rust_gamedev](https://www.reddit.com/r/bevy/comments/yyl73c/new_plugin_bevy_quickmenu_quickly_create_nested)
337381

338382
## Popular Workgroup Issues in Github
339383

0 commit comments

Comments
 (0)
0