#progress-bar #bevy-ui #ui #gamedev

bevy-progressbar

Create multi sectons progressbars and use them in the bevy ui

9 releases (breaking)

0.8.0 Jul 5, 2024
0.7.0 Feb 20, 2024
0.6.1 Nov 16, 2023
0.5.0 Nov 8, 2023
0.1.1 Feb 1, 2023

#1032 in Game dev

MIT license

195KB
186 lines

Bevy Progressbar

License: MIT Doc Crate Build Status Bevy tracking

Generate progressbars in bevy ui from simple values.

Preview

Features

  • multi section progressbars
  • gpu based shader for rendering

Install

cargo add bevy-progressbar

Usage

See examples for better understanding

fn setup(mut commands: Commands, mut materials: ResMut<Assets<ProgressBarMaterial>>) {
    let bar = ProgressBar::new(vec![(1000, Color::RED),(2000, Color::BLUE),(4000, Color::GREEN)]);
    let style = Style {
        position_type: PositionType::Absolute,
        width: Val::Px(400.0),
        height: Val::Px(200.0),
        top: Val::Px(400.0),
        ..bevy_utils::default()
    };
    commands.spawn(
        ProgressBarBundle::new(style, bar, &mut materials);
    );
}
Version Bevy Version
0.2.1 0.9
0.3.0 0.10
0.4.0 0.11
0.5.0 0.12
0.6.0 0.12
0.7.0 0.13
0.8.0 0.14

TODO

  • optimize the image creation, by just doing one line and let the gpu use nearst neighbour to scale the texture
  • (optional) render an outline of the progessbar
  • (optional) allow or rounded corners

Dependencies

~34–71MB
~1.5M SLoC