19个版本 (8个重大更新)
0.10.0 | 2022年11月14日 |
---|---|
0.9.3 | 2022年10月12日 |
0.7.0 | 2022年7月31日 |
0.5.1 | 2022年2月27日 |
#896 in 游戏开发
每月159次下载
35KB
105 行
Bevy Heterogenous Texture Atlas Loader
Bevy Heterogenous Texture Atlas Loader 允许您从 RON 文件清单中加载异构纹理图集。
Bevy 兼容性
版本 | bevy |
---|---|
0.10 | 0.9 |
0.7到0.9 | 0.8 |
0.6 | 0.7 |
< 0.6 | 0.6 |
基本用法
-
将以下内容添加到项目中的
Cargo.toml
的[dependencies]
部分bevy_heterogeneous_texture_atlas_loader = "0.10.0"
-
将
TextureAtlasLoaderPlugin
添加到您的 Bevy 应用程序中。use bevy_heterogeneous_texture_atlas_loader::*; app.add_plugin(TextureAtlasLoaderPlugin);
-
将图集源图像和
.ron
清单添加到您的资产文件夹中。 -
使用资产服务器加载纹理图集清单
let texture_atlas: Handle<TextureAtlas> = asset_server.load("<path>.ron");
然后插件将加载图集图像并自动创建 TextureAtlas 资产。
-
TextureAtlas
的精灵索引遵循清单中精灵的顺序。图集索引 0 将是清单中的第一个精灵,1 是第二个,依此类推。您还可以使用TextureAtlas::get_texture_index
方法通过资产路径查找索引texture_atlas.get_texture_index(&Handle::weak("sprite_name".into()))
这在
\examples\example.rs
中可以看到使用
清单
-
要为像这样的不规则大小和位置的精灵创建一个精灵表清单
-
在您的资产文件夹中创建一个 .ron 文件。
输出 TextureAtlas 中的精灵索引隐式地按照输入列表精灵矩形的顺序排序。
-
使用
name
字段为精灵提供一个唯一的名称,该名称可用于使用具有资产路径"sprite_name"
的弱Handle<Image>
来查找 TextureAtlas 索引。( // Path to the texture atlas source image file path: "example.png", // List of sprites sprites: [ ( // use a handle with the asset path "rothko" // to retrieve this sprite's index using TextureAtlas::get_texture_index. name: "rothko", // top left x coordinate of the sprite in pixels x: 18, // top left y coordinate of the sprite in pixels y: 19, // width of the sprite in pixels w: 46, // height of the sprite in pixels h: 48 ), ( name: "face", x: 93, y: 108, w: 32, h: 31 ), ( name: "patches", x: 176, y: 34, w: 20, h: 34 ), ] )
-
如果您不需要为精灵命名,可以省略
name
字段( path: "example.png", sprites:[ ( // sprite at atlas index 0 x: 18, y: 19, w: 46, h: 48 ), ( // sprite at atlas index 1 x: 93, y: 108, w: 32, h: 31 ), // ... ] )
示例
-
minimal.rs
加载一个纹理图集并在其纹理之间循环。使用以下命令运行:
cargo run --example minimal
-
example.rs
加载和显示纹理图集的示例。使用以下命令运行:
cargo run --example example
two.rs
Another example of loading and displaying texture atlases. Run with
```
cargo run --example example
```
-
bevy_asset_loader.rs
使用
bevy_asset_loader
管理加载的示例。使用以下命令运行:cargo run --example bevy_asset_loader
依赖项
~17-33MB
~518K SLoC