在java中旋转图像

时间:2016-02-06 21:07:22

标签: java bufferedimage image-rotation

我正在尝试制作一个玩家有时必须旋转的游戏,但我无法找到让它每次旋转更多的方法,这就是我所拥有的: Graphics2D g2d =(Graphics2D)g;

    AffineTransform at = new AffineTransform();

    at.translate(300, Main.height - 115);

    if(rotateright) {
        at.rotate(Math.PI / 15);
    } else if(rotateleft) {
        at.rotate(Math.PI / 15);

    }

    at.scale(0.125, 0.125);

    at.translate(-texture.getWidth() / 2, -texture.getHeight() / 2);

    g2d.drawImage(texture, at, null);

这个方法让它旋转得很好,但我找不到一种方法让它每次旋转更多,所以这个方法几乎只是旋转它,但只有一次,然后它就停止了。反正有没有添加到旋转或什么?

1 个答案:

答案 0 :(得分:2)

您始终以正常旋转(0度/ RAD旋转)开始图像,然后通过PI / 15 RAD进行辐射。如果您希望它随时间旋转,则需要将PI / 15与将在动画持续时间内更改的值相乘。