Я видел, что вы можете упаковать NinePatch
es в TextureAtlas
с помощью TexturePacker2
. Я также видел this и this. Но я не уверен, понял ли это правильно. Я хочу упаковать все свои GUI-файлы в один TextureAtlas
, и мой GUI-материал состоит не только из NinePatch
с, но и из некоторых TextureRegion
. Можно ли комбинировать NinePatch
s и TextureRegion
s в одном TextureAtlas
? Могу ли я использовать настройки деффе или мне нужно сделать некоторые пользовательские настройки, такие как paddingX
, paddingY
в файле .JSON
? И в моей игре я могу загрузить NinePatch
с помощью atlas.createPatch("patchimagename");
или было бы лучше, чтобы все было безопасно, как TextureRegion
s и создать из него NinePatch
?Libgdx упаковка NinePatch в TextureAtlas
2
A
ответ
4
Предположим, у вас есть, что файлы структура используется для TexturePacker2
:
images/
image1.png
image2-ninepatch.png <-- this is NinePatch
image3.png
Просто измените РАСШИРЕНИЯ NinePatch
файлов из .png
(например) .9.png
(и добавить 1px границу к нему, если это необходимо).
images/
...
image2-ninepatch.9.png
...
После этого вы можете использовать Skin
, чтобы обернуть ваши текстуры и Ис извлечь NinePatch
и TextureRegion
из Atlas
:
TextureAtlas atlas = ... // load the Atlas
Skin skin = ... // create some root skin or use created one
skin.addRegion(atlas); // register atlas in skin
Кроме того, вы можете добавить много атласов к одной коже!
Теперь вы можете сделать это:
Получить
TextureRegion
по имени:public TextureRegion getRegion(String region) { return skin.getRegion(region); }
Получить
NinePatch
по имени:public NinePatch getNinePatch(String region) { return skin.getPatch(region); }
Даже использовать изображения (
TextureRegion
илиNinePatch
) в компонентах пользовательского интерфейса (например, фон кнопки и т. Д.), Которые используют этот скин.
Надеюсь, это вам поможет!
Смежные вопросы
- 1. libgdx TextureAtlas и NinePatch
- 2. TextureAtlas and Skin libgdx
- 3. TextureAtlas issue with libgdx
- 4. Libgdx Какой фильтр TextureAtlas использовать?
- 5. Создайте анимацию из TextureAtlas - libgdx
- 6. Libgdx - TextureAtlas прекратил мое приложение
- 7. Libgdx, TextureAtlas (.pack) через AssetManager
- 8. libgdx распоряжаться спрайтами из textureatlas
- 9. TextureRegion Loads Whole TextureAtlas в LibGDX
- 10. LibGDX 9 Патч-изображения не работают с TextButtonStyle и TextureAtlas
- 11. LibGdx Упаковка текстуры
- 12. Libgdx - Использование TextureAtlas с кожей. Вопросы памяти?
- 13. LibGDX: используйте тот же TextureAtlas дважды или используйте два разных TextureAtlases
- 14. Настроить некоторые спрайты только в одном изображении TextureAtlas в LIBGDX
- 15. Как использовать текстуру из TextureAtlas в libgdx 3D
- 16. FPS drop после перехода от Textures to TextureAtlas в LibGDX
- 17. Статус загрузки TextureAtlas
- 18. Проблема с рендерингом NinePatch на фоне TextButton (libgdx)
- 19. Libgdx Анимация с использованием изображений из TextureAtlas неверно повернута
- 20. libGDX TextureAtlas - предоставление имени основной текстуры во время выполнения
- 21. Libgdx Scene2d Изображение от NinePatchDrawable не вращается
- 22. Изображения NinePatch не растягиваются
- 23. NinePatch Background и Android
- 24. Android: NinePatch и LayerList
- 25. Установить фон NinePatch Программным
- 26. Ninepatch Drawable with ColorFilter
- 27. Libgdx - TextureRegion.flip()
- 28. LibGDX 9patched texture drawing issue
- 29. ImageTextButton LibGDX
- 30. Не удается загрузить файл TextureAtlas в IOS с помощью libgdx во время загрузки через AssetManager
Если я создаю его с помощью этого инструмента http://developer.android.com/tools/help/draw9patch.html, у него уже есть граница 1 px? И мне нужно определить растяжимые области игры или в моей skin.JSON? – Springrbua
@Springrbua, да, этот код будет работать с этим инструментом. И нет, вы не должны определять растяжимые области, не играющие и в JSON, потому что они определены границей 1px уже :) – desertkun
Еще раз спасибо, я попробую: P – Springrbua