1 个不稳定版本
0.1.0 | 2024年2月12日 |
---|
#2080 在 游戏开发
74KB
497 行
Bevy Tiled Blueprints
能够直接从Tiled地图对象读取属性到Bevy引擎中。
安装
cargo add bevy_tiled_blueprints --git "https://github.com/Leinnan/bevy_tiled_blueprints"
使用方法
Tiled | Bevy |
---|---|
对象 | 实体 |
object.name | 名称组件 |
自定义属性 | 组件 |
自定义属性名称 | 组件结构名称 |
自定义属性值 | 以ron格式序列化的组件 |
支持的自定义属性值
- 对于没有字段的单元结构为空
- int/bool/float 对于只有一个未命名字段的元组结构
- ron 字符串用于常规结构
- 枚举组件的字符串属性
- 带有前缀
remove:
的字符串属性,例如remove:{NameOfComponent}
用于删除组件。
添加到层或地图本身的自定义属性将以相同的方式添加到相应的实体。
使用方法
可以通过将 TiledBlueprintsDebugDisplayPlugin
插件添加到应用程序中启用对象的放置的调试渲染。示例在 examples/simple.rs
中。
待办事项
- 解析不同的对象形状,目前它只接受
x
和y
位置并将其转换为Transform
组件 - 创建一个示例,例如支持来自
bevy_rapier
的碰撞 - 为从Tiled创建工作流程使用 自定义枚举和类。最佳情况是,在游戏构建时提供Tiled项目文件的相对路径,Bevy将有关自定义属性的数据馈送到项目文件。这还需要在tiled crate中进行 改进
- 支持对象和文件属性值。
感谢 bevy_ecs_tilemap 的作者,整个项目基于扩展该示例。同样感谢 Blender_bevy_components_workflow 的作者。
Web示例存在渲染问题,但如果查看控制台,可以看到它正在运行。
贡献
有任何想法、反馈、问题或发现任何错误?随时可以在任何时间打开一个问题!
依赖关系
~40–75MB
~1.5M SLoC