/bevy_text_popup

Bevy plugin to easily create UI text popups using events

Primary LanguageRustApache License 2.0Apache-2.0

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.13 0.3
0.12 0.2
0.11 0.1