我对java图形有些陌生,正在尝试学习如何使用旋转。从我读过的内容来看,'affineTransform' 几乎是所有这些的关键。在这里,我似乎无法弄清楚如何创建这个矩形并对其应用旋转。有任何想法吗?
package games;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.geom.AffineTransform;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Rotation extends JPanel {
public static void main(String[] args) {
JFrame f = new JFrame();
f.add(new Rotation());
f.setSize(600, 600);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
int i = 0;
public void paint(Graphics g) {
Rectangle ship = new Rectangle(50, 50, 200, 100); // <------
AffineTransform at = new AffineTransform();
at.rotate(Math.toRadians(i++), ship.getWidth() / 2, ship.getHeight() / 2);
Graphics2D g2d = (Graphics2D) g;
g2d.drawImage(ship, at, null); // <----------------
repaint();
}
}