我已经阅读了许多BufferedImage旋转帖子,发现旋转它的方法是使用AffineTransform(at),并使用at.rotate(double,int,int)。我得到了它的工作,我可以把它和所有,但我想移动它,所以它显示在屏幕上的不同位置。为此,我使用了at.translate(int,int)。但是,int不与我正在使用的实际JFrame对齐,并且它在旋转的点上旋转不同的点。翻译如何与rotate方法相关?这是我尝试使用的代码......
public void draw(Graphics2D g){
counter++;
g.drawImage(animation.getImage(), (int)x, (int)y, null);
if (counter * .05 > Math.PI * 2)
counter = 0;
g.rotate(counter * .05, test.getWidth() / 2, test.getHeight() / 2);
g.drawImage(test, at, null);
g.rotate(-counter * .05, test.getWidth() / 2, test.getHeight() / 2);
}