Отражают ли индексы спрайтов TextureAtlas порядок, в котором они были добавлены?

Я использую TextureAtlasBuilder произвести TextureAtlas. Я добавляю несколько текстур в атлас, используяadd_textureметод. Затем я использую этот атлас текстуры как часть спрайта, созданного изSpriteSheetComponents связка.

При изменении индекса спрайта результирующая текстура не соответствует моим ожиданиям. Я предполагаю, что текстуры в атласе текстур отражают порядок, в котором они были добавлены при его построении. Это неверное предположение?

1 ответ

Решение

Порядок, в котором вы звоните add_texture не гарантирует порядок, в котором они хранятся в texturesVec. Это связано с тем, что текущая реализация (начиная с версии 0.3.1) использует HashMap для хранения размещения прямоугольников, таким образом не сохраняя порядок вставки.

Поскольку проект находится в зачаточном состоянии, вы можете подумать о создании проблемы в проекте, чтобы изменить это.

А пока вы можете попробовать объединить спрайты вне Беви, а затем прочитать в TextureAtlasнепосредственно из этого ресурса, как в примере с таблицей спрайтов.

Другие вопросы по тегам