#bevy #parallax #gamedev #game #bit-flags

bevy_parallaxation2d

提供Bevy中简单2D视差层的Crate

3个版本

0.1.2 2024年8月1日
0.1.1 2024年7月29日
0.1.0 2024年7月29日

#503 in 游戏开发

Download history 204/week @ 2024-07-25 154/week @ 2024-08-01 4/week @ 2024-08-08

362 每月下载次数

MIT/Apache

41KB
692

bevy_parallaxation2d

License Crates.io Downloads CI

提供Bevy中简单2D视差层的Crate。

在这个Crate中

  • ParallaxPlugin - 用于视差功能的插件。
  • ParallaxCamera - 标记视差相机的组件。
  • ParallaxLayer - 创建视差层的组件。
  • ParallaxFlags - 定义视差层属性的位标志。

示例

这是一个如何使用此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()
        },
    ]);
}

此仓库包含一个示例,您可以使用它来运行

cargo run --example mountains

兼容性

bevy bevy_parallaxation2d
0.13 0.1

依赖项

~36–72MB
~1.5M SLoC