#bevy-ui #ui #bevy #graphics #game #text

bevy_mod_ui_independent_text

具有独立于UI布局变换的Bevy UI文本

1个不稳定版本

0.3.0 2022年10月21日

#48#bevy-ui

MIT/Apache

70KB
190

bevy_mod_ui_independent_text

crates.io MIT/Apache 2.0 crates.io

具有独立于UI布局变换的Bevy UI文本。

  • 可以在任何Z深度绘制文本,在Bevy UI元素之上或之下
  • 文本可以旋转和缩放
  • 可自定义对齐和边界
  • 支持Bevy 0.8

image

用法

将依赖项添加到 Cargo.toml

bevy_mod_ui_independent_text = "0.3.0"

将插件添加到您的Bevy应用程序

use bevy_mod_ui_independent_text::*;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_plugin(IndependentTextPlugin)
        // ..rest of app
        .run()
}

别忘了相机

commands.spawn_bundle(Camera2dBundle::default());

然后您可以通过生成一个IndependentTextBundle来绘制文本

 commands.spawn_bundle(IndependentTextBundle {
        text: UiText(Text {
            sections: vec![TextSection {
                value: "Hello, world".to_string(), 
                style: TextStyle {
                    font: asset_loader.load("Topaz-8.ttf"),
                    font_size: 32.0,
                    color: Color::WHITE
                },
            }],
            alignment: TextAlignment::CENTER,
        }),
        transform: Transform {
            translation: Vec3::new(400., 300., 100.),
            rotation: Quat::from_rotation_z(std::f32::consts::PI / 8.),
            ..Default::default()
        },
       ..Default::default()
    });

image

示例

cargo --run --example hello_world
cargo --run --example depth
cargo --run --example bounded

依赖项

~15–33MB
~498K SLoC