Имам 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);
Почти проработи, което означава, че текстът в бутона беше завъртян правилно, но фонът на бутона остана на мястото си:
Така че въпросът ми е: Защо се случва това и как мога да разреша това?