#bevy #bevy-ui #modal #user #game-engine #button #component

bevy_text_popup

Easily create temporary text pop-up nodes in the Bevy game engine

2 unstable releases

0.2.0 Nov 6, 2023
0.1.0 Aug 24, 2023

#1197 in Game dev

42 downloads per month

MIT/Apache

635KB
423 lines

Bevy Text Popup

Bevy Text Popup Latest version Documentation MIT Apache

Bevy plugin to easily create UI text popups with events.

Popups are meant to be short-lived and on top of all other UI components.

Useful for notifications and prompting user input.

Current Customization Options:

  • Font: cargo run --example custom_font
  • Background: Color and Transparency (image background to come)
  • Border: cargo run --example border
  • Buttons: cargo run --example buttons
  • Timeouts: Dismiss automatically after X seconds
  • Modal: cargo run --example modal

Upcoming Customization Options:

  • Dismiss: Click anywhere to dismiss, X close button, etc.
  • Input: Allow for user input.
  • Hover/Click: Color change on button/popup hover/click.
  • Animations: Open/Close/Dismiss/Click/etc.

Examples

This example will display a modal popup for 10s with a 'Close' button.

use bevy::prelude::*;
use bevy_text_popup::{TextPopupEvent, TextPopupPlugin, TextPopupTimeout};

fn main() {
    App::new()
        .add_plugins((DefaultPlugins, TextPopupPlugin))
        .add_systems(Startup, setup)
        .run();
}

fn setup(mut commands: Commands, mut text_popup_events: EventWriter<TextPopupEvent>) {
    commands.spawn(Camera2dBundle::default());

    text_popup_events.send(TextPopupEvent {
        content: "Modal Example".to_string(),
        modal: Some(Color::BLUE.with_a(0.75)),
        timeout: TextPopupTimeout::Seconds(10),
        dismiss_button: Some(TextPopupButton {
            text: "Close".to_string(),
            ..Default::default()
        }),
        ..default()
    });
}

Buttons

cargo run --example buttons

Buttons Example

Border

cargo run --example border

Border

Custom Font

cargo run --example custom_font

Custom Font Example

Locations

cargo run --example locations

Locations

Modal

cargo run --example modal

Modal

Transparency

cargo run --example transparency

Transparency

Bevy Compatibility

bevy bevy_text_popup
0.12 0.2
0.11 0.1

Dependencies

~21MB
~399K SLoC