3 releases
0.1.2 | Aug 1, 2024 |
---|---|
0.1.1 | Jul 29, 2024 |
0.1.0 | Jul 29, 2024 |
#758 in Game dev
41KB
692 lines
bevy_parallaxation2d
Crate providing simple 2D parallax layers in Bevy.
In this crate:
ParallaxPlugin
- Plugin required for the parallax functionality.ParallaxCamera
- Component for marking the parallax camera.ParallaxLayer
- Component for creating a parallax layer.ParallaxFlags
- Bit flags for defining attributes of a parallax layer.
Examples
This is a simple example of how to use the crate.
use bevy::prelude::*;
// Import `bevy_parallaxation2d`
use bevy_parallaxation2d::prelude::*;
fn main() {
App::new()
// Use parallax plugin
.add_plugins((DefaultPlugins, ParallaxPlugin::default()))
.add_systems(Startup, setup)
.run();
}
fn setup(mut commands: Commands) {
// Spawn parallax camera
commands
.spawn(Camera2dBundle::default())
.insert(ParallaxCamera);
// Spawn parallax layers
commands.spawn_batch(vec![
ParallaxLayer {
image: "main_background.png",
depth: 80.0.into(),
flags: ParallaxFlags::REPEAT_X_AXIS | ParallaxFlags::REPEAT_Y_AXIS,
..default()
},
ParallaxLayer {
image: "foreground.png",
depth: (-5.0).into(),
..default()
},
]);
}
This repository features an example you can run with
cargo run --example mountains
Compatibility
bevy | bevy_parallaxation2d |
---|---|
0.13 | 0.1 |
Dependencies
~38–74MB
~1.5M SLoC