10个版本 (6个破坏性更新)

0.7.0 2024年2月24日
0.6.0 2023年11月8日
0.5.1 2023年11月2日
0.4.1 2023年3月7日
0.1.1 2022年7月15日

#244 in 游戏开发

Download history 5/week @ 2024-03-09 56/week @ 2024-03-30 13/week @ 2024-04-06

每月下载量124次

MIT/Apache

38KB
358

Bevy Mod Transform2d

Crates.io MIT/Apache 2.0

Bevy的2D变换组件。

使用方法

运行 cargo add bevy_mod_transform2d.

或者将依赖添加到您的 Cargo.toml

[dependencies]
bevy_mod_transform2d = "0.6"

示例

use bevy::prelude::*;
use bevy_mod_transform2d::prelude::*;

fn main() {
    App::new()
        .add_plugins((
            DefaultPlugins,
            // Add the Transform2dPlugin
            Transform2dPlugin,
        ))
        .add_systems(Startup, setup)
        .add_systems(Update, orbit)
        .run();
}

fn setup(mut commands: Commands) {
    commands.spawn(Camera2dBundle::default());

    commands.spawn((
        SpriteBundle {
            sprite: Sprite {
                custom_size: Some(Vec2::splat(50.)),
                ..default()
            },
            ..default()
        },
        // Add a Transform2d component
        Transform2d::from_xy(200., 0.),
    ));
}

// Make the sprite orbit the center
fn orbit(mut query: Query<&mut Transform2d, With<Sprite>>, time: Res<Time>) {
    for mut transform in &mut query {
        // No quaternions in sight!
        transform.rotate_around(Vec2::ZERO, time.delta_seconds());
    }
}

查看其他 示例.

版本表。

Bevy transform2d
0.12 0.6
0.11 0.5
0.10 0.4
0.9 0.3
0.8 0.2
0.7 0.1

进一步详情

请注意,Transform2d组件不会替换Transform组件,而是向其写入。为了使Transform2d功能,需要TransformGlobalTransform组件。

这使得这个crate可以与交互Transform的crate兼容(例如bevy_rapier2dbevy_xpbd_2d),但这会以性能为代价,并且它支持将3D变换与2D变换及其反向关联。

与其他crate的集成

要与其他修改Transform状态的库集成,需要正确的时间同步TransformTransform2d的状态。

bevy_rapier2dbevy_xpbd_2d的集成已包含在内,并可作为一个功能启用

[dependencies]
bevy_mod_transform2d = { version = "0.6", features = ["bevy_rapier2d"] }
# or
bevy_mod_transform2d = { version = "0.6", features = ["bevy_xpbd_2d"] }

如果有其他与变换交互的插件,以下是同步状态以使Transform2d与该插件兼容的方法。

  • 当系统需要从Transfrom读取时,在它之前添加提供的sync_transform_2d_to_3d系统。
  • 当系统写入Transfrom时,在它之后添加提供的sync_transform_3d_to_2d系统。

许可证

根据您的选择,在Apache License, Version 2.0MIT许可证下许可。
除非您明确声明,否则您根据Apache-2.0许可证定义的,有意提交以包含在此软件包中的任何贡献,都将如上所述双重许可,不得附加任何额外条款或条件。

依赖项

~18–60MB
~1M SLoC