bevy_parallaxation2d

Crates.iobevy_parallaxation2d
lib.rsbevy_parallaxation2d
version0.1.2
sourcesrc
created_at2024-07-29 09:17:57.252934
updated_at2024-08-01 13:40:46.746975
descriptionCrate providing simple 2D parallax layers in Bevy.
homepage
repositoryhttps://github.com/wilzet/bevy_parallaxation2d
max_upload_size
id1318683
size151,210
(wilzet)

documentation

README

bevy_parallaxation2d

License Crates.io Downloads CI

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
Commit count: 0

cargo fmt