TextureAtlas 精灵索引是否反映了它们的添加顺序?
Does TextureAtlas sprite indices reflect the order in which they were added?
我正在使用 TextureAtlasBuilder
生成 TextureAtlas
。我正在使用 add_texture
方法向图集中添加多个纹理。然后我将该纹理图集用作从 SpriteSheetComponents
包创建的精灵实体的一部分。
更改 sprite 的索引时,生成的纹理不是我所期望的。我假设纹理图集中的纹理反映了它们在构建时添加的顺序。这是一个错误的假设吗?
您调用 add_texture
的顺序并不能保证它们在 textures
Vec 中的存储顺序。这是因为当前的实现(从 bevy 0.3.1 开始)使用 HashMap 来存储矩形的位置,因此不保留插入顺序。
由于该项目还处于起步阶段,您可以考虑在 project 中创建一个问题来更改它。
目前,您可以尝试在 Bevy 之外组合精灵,然后直接从该资产中读取 TextureAtlas
,就像在 sprite sheet example.
中一样
我正在使用 TextureAtlasBuilder
生成 TextureAtlas
。我正在使用 add_texture
方法向图集中添加多个纹理。然后我将该纹理图集用作从 SpriteSheetComponents
包创建的精灵实体的一部分。
更改 sprite 的索引时,生成的纹理不是我所期望的。我假设纹理图集中的纹理反映了它们在构建时添加的顺序。这是一个错误的假设吗?
您调用 add_texture
的顺序并不能保证它们在 textures
Vec 中的存储顺序。这是因为当前的实现(从 bevy 0.3.1 开始)使用 HashMap 来存储矩形的位置,因此不保留插入顺序。
由于该项目还处于起步阶段,您可以考虑在 project 中创建一个问题来更改它。
目前,您可以尝试在 Bevy 之外组合精灵,然后直接从该资产中读取 TextureAtlas
,就像在 sprite sheet example.