8个版本
新 0.3.7 | 2024年8月21日 |
---|---|
0.3.6 | 2024年8月14日 |
0.3.2 |
|
0.1.0 | 2024年7月13日 |
133 在 游戏开发 分类中
每月864 次下载
68KB
1.5K SLoC
bevy_ecs_tiled
一个用于使用Tiled地图编辑器创建的2D瓦片图的Bevy插件。使用bevy_ecs_tilemap
存储库进行渲染,每个瓦片由一个Bevy实体表示。层是瓦片图实体的子项,瓦片和对象是层的子项。可见性是继承的:地图 -> 层 -> 瓦片
功能
- 正交、等距和六边形地图
- 有限和无限地图
- 嵌入和分离的瓦片集
- 轻松生成/销毁地图
- 动画瓦片
- 从瓦片集和对象层添加的Rapier和Avian碰撞器(
rapier
或avian
功能标志) - 将Tiled自定义属性映射到Bevy组件(
user_properties
功能标志)
入门
[dependencies]
bevy = "0.14"
bevy_ecs_tiled = "0.3"
bevy_ecs_tilemap = "0.14"
然后将插件添加到您的应用程序中
use bevy::prelude::*;
use bevy_ecs_tiled::prelude::*;
use bevy_ecs_tilemap::prelude::*;
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_plugins(TilemapPlugin)
.add_plugins(TiledMapPlugin)
.add_systems(Startup, startup)
.run();
}
fn startup(mut commands: Commands, asset_server: Res<AssetServer>) {
commands.spawn(Camera2dBundle::default());
// Ensure any tile / tileset paths are relative to assets/
let map_handle: Handle<TiledMap> = asset_server.load("map.tmx");
commands.spawn(TiledMapBundle {
tiled_map: map_handle,
..Default::default()
});
}
查看示例以了解更高级的使用案例。
Bevy兼容性
bevy | bevy_ecs_tilemap | bevy_ecs_tiled |
---|---|---|
0.14 | 0.14 | 0.3 |
0.13 | main@e4f3cc6 | 分支 0.2 |
0.12 | 0.12 | 0.1 |
资源信用
- 彩色瓦片:来自Steve Pryde的正交瓦片集,许可协议为CC0 1.0
- drjamgo_hex_16x16:来自Dr. Jango的“尖锐顶部”六边形瓦片集,许可协议为CC0 1.0
- simple hex flat top:来自All things hex的“平顶”六边形瓦片集,许可协议为CC0 1.0
- kenney-sketch-desert:来自Kenney的等距瓦片集,许可协议为CC0 1.0
贡献
如果您能贡献,请务必这样做!
如果您想贡献力量,但不知道从何开始,请阅读这篇讨论。
许可证
本作品采用MIT许可证。
SPDX-许可证-标识符: MIT
依赖项
~39-77MB
~1.5M SLoC