Я реализую это правильно? У меня проблемы с направлением моего персонажа, но государственный менеджер работает правильно. Я не уверен, что это проблема. Когда я сконструирован, у меня есть мой игрок, который смотрит прямо влево.Libgdx: .Flip() внутри цикла for
У меня есть два массива для правой и левой анимации внутри моего менеджера активов. Исходные изображения обращены вправо, я объявляю этот массив, а затем переворачиваю одно и то же изображение в левом массиве. Оставляет ли левый массив правильный?
int idleRIndex = 1;
TextureRegion[] idleRight = new TextureRegion[3];
for (int i = 0; i < idleRight.length; i++)
{
idleRight[i] = rubenSprite.findRegion("iframe" + idleRIndex);
idleRIndex++;
}
rubenIdleRight = new Animation(0.2f, idleRight);
int idleLIndex = 1;
TextureRegion[] idleLeft = new TextureRegion[3];
for (int i = 0; i < idleLeft.length; i++)
{
idleLeft[i] = rubenSprite.findRegion("iframe" + idleLIndex);
idleLeft[i].flip(true, false);
idleLIndex++;
}
rubenIdleLeft = new Animation(0.2f, idleLeft);
Вы, как мой разбойник libgdx! еще раз спасибо. – BIW
@Quallenmann Какой из них лучше? Переверните «на лету» при рисовании или подготовке перевернутого TextureRegion, как ваш ответ, который означает его дублирование. – Kenjiro
Если вы имеете в виду под «на лету» что-то вроде этого. [SpriteBatch.draw] (http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/graphics/g2d/SpriteBatch.html#draw-com.badlogic.gdx.graphics.Texture-float- float-float-float-int-int-int-int-boolean-boolean-), где вы можете перевернуть изображение с помощью некоторого булева, тогда было бы лучше, если вы сделаете это «на лету». Причина, если заданы флип-булевы, эта функция меняет только текстур-координаты (если flippedX с u1 и u2 меняются местами, если они переворачиваются v1 и v2), которые не так много вычисляются, а используемая память меньше. – Quallenmann