#bevy #bevy-plugin #gamedev #rich #markup #bb-code #mod

bevy_mod_bbcode

在Bevy中使用BBCode格式的文本

2个不稳定版本

0.2.0 2024年7月28日
0.1.0 2024年7月21日

#423游戏开发

Download history 92/week @ 2024-07-17 138/week @ 2024-07-24 28/week @ 2024-07-31 1/week @ 2024-08-07

每月259 次下载

MIT/Apache

42KB
765

bevy_mod_bbcode

使用自定义BBCode标记风格的富文本支持,在Bevy中。

Bevy兼容性

bevy版本 bevy_mod_bbcode版本
0.14 0.1 - 0.2

安装

cargo add bevy_mod_bbcode

使用

而不是生成一个TextBundle,生成一个BbcodeBundle

use bevy::prelude::*;
use bevy_mod_bbcode::{BbcodeBundle, BbcodePlugin, BbcodeSettings};

fn main() {
    App::new()
        // Register the font files stored in `assets/fonts`
        .add_plugins((DefaultPlugins, BbcodePlugin::new().with_fonts("fonts")))
        .add_systems(Startup, setup)
        .run();
}

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

    commands.spawn(BbcodeBundle::from_content(
        "test [b]bold[/b] with [i]italic[/i] and [c=#ff00ff]color[/c]",
        // Use the "Fira Sans" font family with a default font size of 40
        BbcodeSettings::new("Fira Sans", 40., Color::WHITE),
    ));
}

请参阅examples以获取更多使用模式!

支持的标签

  • b: [b]粗体[/b] 文本
  • i: [i]斜体[/i] 文本
  • c: [c=#ff0000]彩色[/c] 文本
    • 通过ResMut<ColorMap>注册命名颜色,并使用名称而不是十六进制值
  • m: [m=foo]带有标记组件的文本[/m]
    • 通过BbcodeSettings::with_marker注册标记组件,并使用它们动态更新文本
  • font: [font="Fira Sans"]更改字体家族[/font]

许可证

本项目可根据您的选择在MITApache 2.0许可证的条款下使用。

除非您明确说明,否则根据Apache-2.0许可证定义的,您有意提交的任何贡献,都应如上双重许可,没有其他附加条款或条件。

请注意,示例中使用的资产可能使用不同的许可证,请参阅assets/CREDITS.md

依赖关系

~39–76MB
~1.5M SLoC