1

TextureAtlasBuilder用来生产一个TextureAtlas. 我正在使用该add_texture方法向图集添加多个纹理。然后,我将该纹理图集用作从SpriteSheetComponents包创建的精灵实体的一部分。

更改精灵的索引时,生成的纹理不是我所期望的。我假设纹理图集中的纹理反映了它们在构建时添加的顺序。这是一个不正确的假设吗?

4

1 回答 1

2

您调用add_texture的顺序并不能保证它们在texturesVec 中的存储顺序。这是因为当前的实现(从 bevy 0.3.1 开始)使用 HashMap 来存储矩形的位置,因此不保留插入顺序。

由于该项目处于起步阶段,您可能会考虑在项目中创建一个问题来进行更改。

目前,您可以尝试在 Bevy 之外组合精灵,然后像精灵TextureAtlas表示例中那样直接从该资产中读取。

于 2020-08-26T11:39:31.520 回答