libGDX: поворот текстуры при рендеринге

Не разобрался как следует с отрисовкой объектов и стал жаловаться. А оказалось, что объект то повернуть не так сложно. Ну, текстуру объекта.

В статье про спрайты рассказал, как можно повернуть спрайт. Для текстуры же надо юзать draw(Texture texture, float x, float y, float originX, float originY, float width, float height, float scaleX, float scaleY, float rotation, int srcX, int srcY, int srcWidth, int srcHeight, boolean flipX, boolean flipY). Слёту не вкурил как метод использовать. Сейчас разобрался и расскажу.

Ну, в целом параметры очевидны. Покажу код из одного из своих проектов. Происходит отрисовка шипов (spike).

spriteBatch.draw(textureRegions.get("spike"), 
					(spike.getPosition().x-spike.width/2)*ppuX,
					(spike.getPosition().y-spike.height/2)*ppuY,
					spike.width/2*ppuX,
					spike.height/2*ppuY,
					spike.width*ppuX,
					spike.height*ppuY,
					1,1, 
					angle );

textureRegions.get("spike") – текстурка объекта. Два следующих параметра – координаты, где выводить. Далее, на сколько я понял, координаты точки указываются относительно которой будет поворот. Так как объект – эллипс, то очевидно, что в центре. Далее ширина и высота указывается. 1, 1 – коэффициенты масштабирования по осям. В принципе всегда 1,1 можно ставить, а менять предыдущие два параметра. Ну и последний параметр – угол в градусах. Вот и всё.

  Категории: java, libgdx, Коддинг