#bevy #shapes #graphics #gamedev #game-engine #game

bevy_prototype_lyon

在Bevy游戏引擎中绘制2D形状和路径

19个版本 (11个破坏性更新)

0.12.0 2024年7月5日
0.11.0 2024年2月19日
0.10.0 2023年11月6日
0.9.0 2023年7月10日
0.1.3 2020年11月4日

#45 in 游戏开发

Download history 1215/week @ 2024-04-26 1210/week @ 2024-05-03 1299/week @ 2024-05-10 1308/week @ 2024-05-17 1243/week @ 2024-05-24 1352/week @ 2024-05-31 860/week @ 2024-06-07 1074/week @ 2024-06-14 1180/week @ 2024-06-21 748/week @ 2024-06-28 801/week @ 2024-07-05 1015/week @ 2024-07-12 1071/week @ 2024-07-19 1217/week @ 2024-07-26 1174/week @ 2024-08-02 1314/week @ 2024-08-09

4,978 每月下载量
29 个Crate中使用 (26个直接使用)

MIT/Apache

165KB
782

Bevy + Lyon = ❤

Crates.io Crates.io Downloads GitHub Repo stars CI Bevy tracking

bevy_prototype_lyon 允许 Bevy 用户绘制2D形状和路径,如三角形、圆形、矩形、线条、弧线和贝塞尔曲线。

尝试在线演示! 正多边形演示

它是如何工作的?

目前Bevy不支持以简单的方式绘制自定义形状。这个crate使用Bevy的SpriteBundle的变体以及自定义网格来绘制形状。使用lyon crate来生成这些自定义网格。

用法

bevy_prototype_lyon 添加到您的Cargo项目中

cargo add bevy_prototype_lyon

然后,您可以开始绘制简单的形状

use bevy::{color::palettes::css::*, prelude::*};
use bevy_prototype_lyon::prelude::*;

fn main() {
    App::new()
        .insert_resource(Msaa::Sample4)
        .add_plugins((DefaultPlugins, ShapePlugin))
        .add_systems(Startup, setup_system)
        .run();
}

fn setup_system(mut commands: Commands) {
    let shape = shapes::RegularPolygon {
        sides: 6,
        feature: shapes::RegularPolygonFeature::Radius(200.0),
        ..shapes::RegularPolygon::default()
    };

    commands.spawn(Camera2dBundle::default());
    commands.spawn((
        ShapeBundle {
            path: GeometryBuilder::build_as(&shape),
            ..default()
        },
        Fill::color(DARK_CYAN),
        Stroke::new(BLACK, 10.0),
    ));
}

别忘了查看示例来了解更多信息!

支持的Bevy版本

我努力支持Bevy的最新版本。当发布新版本时,就会停止支持旧版本。

下表显示了支持Bevy特定版本的最新bevy_prototype_lyon版本。

bevy bevy_prototype_lyon 许可证
0.14 0.12 MIT/Apache 2.0
0.13 0.11 MIT/Apache 2.0
0.12 0.10 MIT/Apache 2.0
0.11 0.9 MIT/Apache 2.0
0.10 0.8 MIT/Apache 2.0
0.9 0.7 MIT/Apache 2.0
0.8 0.6 MIT/Apache 2.0
0.7 0.5 MIT/Apache 2.0
0.6 0.4 MIT/Apache 2.0
0.5 0.3 MIT
0.4 0.2 MIT

许可证

根据您的选择,许可协议为

贡献

除非您明确声明,否则任何旨在包含在本作品中的贡献,根据Apache-2.0许可证的定义,应如上所述双重许可,而不附加任何额外条款或条件。

依赖关系

~37–75MB
~1.5M SLoC