所以,我在java swing中做了一個遊戲(個人選擇,不要把它變成X,最好是製作遊戲,謝謝),這是一個2D平臺遊戲。圍繞它轉動一個BufferedImage中心點
我想我的旋轉武器,使用此代碼
BufferedImage weapon = invArmor.getWeapon().getItem().getTexture();
AffineTransform tx = new AffineTransform();
tx.setToRotation(Math.toRadians(weaponRotation), weapon.getWidth()/2, weapon.getHeight()/2);
AffineTransformOp op = new AffineTransformOp(tx,AffineTransformOp.TYPE_BILINEAR);
weapon = op.filter(weapon, null);
if (facingRight)
g.drawImage(weapon, posX()+10, posY()+5, 24, 24, null);
else
g.drawImage(weapon, posX()+10, posY()+5, -24, 24, null);
的問題是這樣的:http://i.imgur.com/FWXsc5Z.gifv
(gif圖片,網站不支持,所以直接鏈接中給出)
圖像扭轉,就好像它被綁定到圖像本身的大小!對角線被水平和垂直壓縮,併產生彈性效果。不是我正在尋找...
我希望它圍繞它的中心點旋轉,所以沒有任何被壓縮!
感謝您的幫助!那也工作,但我需要縮放圖像。幸運的是,我更多地在互聯網上漫遊,並找到了一個很好的解決方案。 – SubarakiThePepsi
'AffineTransformOp'在縮放方面也很不錯,所以你可以添加縮放並一次性完成所有操作。:-)在關於需要縮小的問題中沒有任何信息,並且你確實進行的縮放是原因代碼不起作用。 – haraldK