Crate bevy_text_popup

source ·
Expand description

§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

cargo run --example modal

Modal

§Transparency

cargo run --example transparency

Transparency

§Bevy Compatibility

bevybevy_text_popup
0.130.3
0.120.2
0.110.1

Structs§

Enums§