У меня есть textButton, и я хочу разместить его на экране, повернутом на 90 градусов.
По какой-то причине все методы поворота(rotate(), setRotationAngle() и т.д.), связанные с объектом TextButton, не работают должным образом.
Итак, я реализовал новый класс, расширяющий TextButton и переопределяющий метод draw():
@Override
public void draw(SpriteBatch batch, float parentAlpha) {
Matrix4 rotationMatrix = new Matrix4();
Matrix4 oldMatrix = batch.getTransformMatrix();
rotationMatrix.idt();
rotationMatrix.rotate(new Vector3(this.getX(),this.getY()+this.getHeight(),0),rotationAngle);
batch.setTransformMatrix(rotationMatrix);
super.draw(batch, parentAlpha);
batch.setTransformMatrix(oldMatrix);
}
Где rotationAngle
равно 90,0. И почему-то кнопка поворачивается не на 90 градусов, а на какое-то неизвестное количество градусов.
UPD
После того, как я вернулся к объекту TextButton и сделал:
newGame.setTransform(true);
newGame.rotate(90);
Это почти сработало, то есть текст в кнопке был повернут правильно, но фон кнопки остался на месте:
Итак, мой вопрос: почему это происходит и как я могу это решить?