#bevy-ui #component #ui #bevy

bevy_ui_bits

为Bevy提供的一套小巧且具有特定意见的用户界面组件集合

3个版本 (破坏性更新)

0.3.0 2023年7月12日
0.2.0 2023年3月7日
0.1.0 2023年2月21日

#1973游戏开发

每月26次下载

MIT/Apache

29KB
437

BEVY UI BITS

crates.io license

为Bevy提供的一套小巧且具有特定意见的用户界面组件集合

用法

use bevy::prelude::*;
use bevy_ui_bits::*;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_startup_system(spawn_ui)
        .run();
}

fn spawn_ui(mut commands: Commands, asset_server: Res<AssetServer>) {
    commands.spawn(Camera2dBundle::default());

    let font = &asset_server.load("fonts/FiraMono-Medium.ttf");

    // Root is the encompassing component for a given UI tree
    let root = Root::congregated();

    // Container is the quintessential layout component
    let mut main_container = Container::height(400.0);

    // EmbossedText represents text with a background relief
    let mut title = EmbossedText::large("My Game", font);

    // UiButton wraps over a ButtonBundle with opinionated defaults
    let mut play = UiButton::new("Start", font);

    let by = SimpleText::small("By me", font);

    // Make changes to the properties with a fluent interface
    main_container.justify_between();
    title.color(Color::MIDNIGHT_BLUE);
    play.selected_color(Color::MIDNIGHT_BLUE);

    // Use a nested structure to spawn the UI tree
    root.spawn(&mut commands, |parent| {
        main_container.spawn(parent, |parent| {
            title.spawn(parent);
            play.spawn(parent);
            by.spawn(parent);
        });
    });
}

示例

支持鼠标和键盘输入的基本主菜单UI

main_menu

使用以下内容尝试

cargo run --example main_menu --features="bevy/default"

具有动态文本组件的简单HUD

hud

使用以下内容尝试

cargo run --example hud --features="bevy/default"

使用RootMarker递归销毁UI

despawn

使用以下内容尝试

cargo run --example despawn --features="bevy/default"

Bevy兼容性

bevy bevy_ui_bits
0.11 0.3
0.10 0.2
0.9 0.1

许可证

本项目可以选择以下任一许可证

供您选择。

除Fira Mono字体外,它有自己的许可证。

贡献

除非您明确声明,否则您有意提交的任何贡献,根据Apache-2.0许可证的定义,将根据上述方式双重许可,没有任何额外的条款或条件。

依赖关系

~43–78MB
~1M SLoC