Кадры анимации смещены на несколько пикселей от местоположения последних кадров - PullRequest
0 голосов
/ 13 января 2019

В Libgdx я использовал textureAtlas и циклы для получения анимации, которая почти работает, по любой причине анимация сдвигается, как будто числа в цикле for не верны, или у каждого из кадров есть отступы, и я не могу выяснить почему. Я использую https://code.google.com/archive/p/libgdx-texturepacker-gui/downloads и вот настройки, которые я использую: https://imgur.com/a/VIYY0ax и вот видео того, как это выглядит: https://imgur.com/a/bo0denv.

Я пробовал много комбинаций настроек при создании атласа текстуры, и это приводит к различным комбинациям, я даже заставил его работать один раз, но мне пришлось добавить новый спрайт в атлас текстуры и не смог успешно его воспроизвести , Все изображения имеют одинаковый размер, и голубь во всех них одинаков. Расположение спрайтов (прикрепленное к box2body, которое не перемещается по оси x) и размер никогда не меняются

Вот код для цикла for:

for (int i = 0; i < 4; i++) {
    frames.add(new TextureRegion(getTexture(), 4395 + (i * 74), 42, 74, 74));
}
healedPigeonFlying = new Animation<>(0.15f, frames);
frames.clear();

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

1 Ответ

0 голосов
/ 14 января 2019

После переключения на TexturePacker я получил предупреждение, которое решило мою проблему; очевидно, что использование изображений OVER 4096x4096 вызовет проблемы (как в этом посте) почти на всех современных телефонах, а изображения OVER 2048x2048 вызовут проблемы на чуть более старых телефонах. Мое изображение было 8192x8192. Я быстро переключился на старую программу и сумел сжать все свои спрайты в два разных текстурных атласа 2048x2018, и это работает как шарм.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...