2

在此处输入图像描述

我想在单击按钮时自行旋转这个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();
    }

}

private void rotateRight() {
// How do I rotate it to look like 
}

在此处输入图像描述

4

1 回答 1

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);
}
于 2013-04-03T06:53:33.693 回答