19 unstable releases (3 breaking)
| 0.4.1 | Apr 6, 2023 |
|---|---|
| 0.4.0 | Mar 20, 2023 |
| 0.3.0 | Mar 11, 2023 |
| 0.2.4 | Feb 1, 2023 |
| 0.1.8 | Sep 30, 2022 |
#2627 in Game dev
84 downloads per month
33KB
142 lines
bevy_mod_ui_texture_atlas_image
Draw images from texture atlases with the Bevy UI.

- Versions 0.3 and 0.4 support Bevy 0.10
- Version 0.2 supports Bevy 0.9
- Version 0.1 supports Bevy 0.8
Details
To use this crate, add its dependency to your project's Cargo.toml:
bevy_mod_ui_texture_atlas_image = "0.3"
or with Cargo:
cargo add bevy_mod_ui_texture_atlas_image
Components
-
UiAtlasImageThe texture atlas image of the node.
-
ImageTintThe tint color of the image.
Bundles
-
AtlasImageBundleThe bundle of components needed to display an image from a
TextureAtlaswith the Bevy UI.
Plugin
The UiAtlasImagePlugin plugin must be added to your Bevy App:
use bevy_mod_ui_texture_atlas_image::*;
fn main () {
App::new()
.add_plugins(DefaultPlugins)
.add_plugin(UiAtlasImagePlugin)
// ..rest of app
.run()
}
Then you can spawn an AtlasImageBundle to draw images from a TextureAtlas with the Bevy UI:
commands
.spawn(AtlasImageBundle {
atlas_image: UiAtlasImage {
atlas: texture_atlas_handle.clone(),
index: 5
},
..Default::default()
});
The differences between an AtlasImageBundle and an ImageBundle are that
- Instead of a
UiImagecomponent,AtlasImageBundlehas aUiAtlasImagecomponent that sets the image displayed by the node. - Instead of a
BackgroundColorcomponent,AtlasImageBundlehas anImageTintcomponent that sets the color tint of the image.
Examples
- Displaying a single image from a texture atlas:
cargo --run --example minimal - Displaying three tiles from a texture atlas grid alongside the atlas's source image:
cargo --run --example tiles - Displaying images from a texture atlas with an alpha channel.
cargo --run --example alpha - Displaying images from a texture atlas with clipping.
cargo --run --example clipped
Dependencies
~28–69MB
~1M SLoC