LibGDX - 自己旋转SpriteBatch

ces*_*ira 2 rotation libgdx spritebatch

在此输入图像描述

我想点击一个按钮就自动旋转这个SpriteBatch

@Override
public void render() {

    SpriteBatch batch = new SpriteBatch();

    batch.begin();
    batch.draw(gemTexture, 10, 10, 100, 100);
    batch.end();

    if (Gdx.input.isTouched()) {
        rotateRight();
    }
Run Code Online (Sandbox Code Playgroud)

}

private void rotateRight() {
// How do I rotate it to look like 
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Rod*_*yde 9

您正在使用SpriteBatch绘制纹理.纹理不支持旋转.我建议Sprite类可能更适合你想要做的事情.以下是您可能会做的大致概述... 有关详细信息,请参阅Sprite javadoc.

private void createGemSprite() {
    gemSprite = new Sprite(gemTexture);
    gemSprite.setPosition(10, 10);
}

@Override
public void render() {

    SpriteBatch batch = new SpriteBatch();

    batch.begin();
    gemSprite.draw(batch);
    batch.end();

    if (Gdx.input.isTouched()) {
        rotateRight();
    }
}

private void rotateRight() {
    gemSprite.setRotation(gemSprite.getRotation() - 90);
}
Run Code Online (Sandbox Code Playgroud)