#tiled #bevy #map #bevy-ecs

bevy_tiled_blueprints

允许读取具有属性的Tiled地图

1 个不稳定版本

0.1.0 2024年2月12日

#2080游戏开发

MIT/Apache

74KB
497

Bevy Tiled Blueprints

能够直接从Tiled地图对象读取属性到Bevy引擎中。

安装

cargo add bevy_tiled_blueprints --git "https://github.com/Leinnan/bevy_tiled_blueprints"

simple example

Tiled example

使用方法

Tiled Bevy
对象 实体
object.name 名称组件
自定义属性 组件
自定义属性名称 组件结构名称
自定义属性值 以ron格式序列化的组件

支持的自定义属性值

  • 对于没有字段的单元结构为空
  • int/bool/float 对于只有一个未命名字段的元组结构
  • ron 字符串用于常规结构
  • 枚举组件的字符串属性
  • 带有前缀 remove: 的字符串属性,例如 remove:{NameOfComponent} 用于删除组件。

添加到层或地图本身的自定义属性将以相同的方式添加到相应的实体。

使用方法

可以通过将 TiledBlueprintsDebugDisplayPlugin 插件添加到应用程序中启用对象的放置的调试渲染。示例在 examples/simple.rs 中。

待办事项

  • 解析不同的对象形状,目前它只接受 xy 位置并将其转换为 Transform 组件
  • 创建一个示例,例如支持来自 bevy_rapier 的碰撞
  • 为从Tiled创建工作流程使用 自定义枚举和类。最佳情况是,在游戏构建时提供Tiled项目文件的相对路径,Bevy将有关自定义属性的数据馈送到项目文件。这还需要在tiled crate中进行 改进
  • 支持对象和文件属性值。

感谢 bevy_ecs_tilemap 的作者,整个项目基于扩展该示例。同样感谢 Blender_bevy_components_workflow 的作者。


Web示例存在渲染问题,但如果查看控制台,可以看到它正在运行。

贡献

有任何想法、反馈、问题或发现任何错误?随时可以在任何时间打开一个问题!

依赖关系

~40–75MB
~1.5M SLoC