Java で画像を回転する方法は知っていますが、Graphics2D.rotate メソッドを使用して画像を中心に回転する方法が見つかりません。これが私が持っているものです。
public void rotateLeft(Graphics2D g) {
rotateLeft++;
g.rotate(Math.toRadians(rotateLeft), charX, charY);
}
ちなみに、charX と charY は座標です。
Java で画像を回転する方法は知っていますが、Graphics2D.rotate メソッドを使用して画像を中心に回転する方法が見つかりません。これが私が持っているものです。
public void rotateLeft(Graphics2D g) {
rotateLeft++;
g.rotate(Math.toRadians(rotateLeft), charX, charY);
}
ちなみに、charX と charY は座標です。
以下を使用できます。
g.rotate(angle, (imageWidth / 2) + 1, (imageHeight / 2) + 1);
これが私がやっている方法です:
AffineTransform oldTrans = g2d.getTransform();
g2d.rotate(-theta,xNow+bufferedBox.getWidth()/2, this.getHeight() - groundY - yNow - bufferedBox.getHeight()/2);
g2d.drawImage(bufferedBox, xNow, this.getHeight() - groundY - yNow - bufferedBox.getHeight(), null);
g2d.setTransform(oldTrans);
xNow と yNow は、ボックスが配置される座標です。「this」は jPanel を指し、groundY はオフセットです (地面の上にあります)。bufferedBox は私の画像を指します