Отражают ли индексы спрайтов TextureAtlas порядок, в котором они были добавлены?
Я использую TextureAtlasBuilder
произвести TextureAtlas
. Я добавляю несколько текстур в атлас, используяadd_texture
метод. Затем я использую этот атлас текстуры как часть спрайта, созданного изSpriteSheetComponents
связка.
При изменении индекса спрайта результирующая текстура не соответствует моим ожиданиям. Я предполагаю, что текстуры в атласе текстур отражают порядок, в котором они были добавлены при его построении. Это неверное предположение?
1 ответ
Порядок, в котором вы звоните add_texture
не гарантирует порядок, в котором они хранятся в textures
Vec. Это связано с тем, что текущая реализация (начиная с версии 0.3.1) использует HashMap для хранения размещения прямоугольников, таким образом не сохраняя порядок вставки.
Поскольку проект находится в зачаточном состоянии, вы можете подумать о создании проблемы в проекте, чтобы изменить это.
А пока вы можете попробовать объединить спрайты вне Беви, а затем прочитать в TextureAtlas
непосредственно из этого ресурса, как в примере с таблицей спрайтов.