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