0
使用Graphcis2D和AffineTransform在固定位置旋轉圖像時出現問題。使用AffineTransform旋轉圖像時未將圖像繪製到固定位置
想法是根據身體的旋轉旋轉圖像。
當圖像的旋轉角度與身體的旋轉角度相匹配時,旋轉正確發生。但是,隨着旋轉的發生,圖像不會被繪製到與繪製身體相同的位置。該方法畫的畫的代碼如下:
public void paintPicture(Graphics g, Body body) {
Graphics2D g2 = (Graphics2D) g;
Vector2f[] vertices = ((Box) body.getShape()).getPoints(body.getPosition(), body.getRotation());
Vector2f topLeftCorner = vertices[0];
AffineTransform oldTransform = g2.getTransform();
AffineTransform at = new AffineTransform();
at.rotate(body.getRotation());
g2.setTransform(at);
g2.drawImage(this.img, (int) topLeftCorner.x, (int) topLeftCorner.y, null);
g2.setTransform(oldTransform);
}
任何想法可能會導致圖像的運動,而不是根據座標(topLeftCorner.x,topLeftCorner.y)繪製了嗎?