【发布时间】:2015-11-15 20:41:20
【问题描述】:
所以,我正在用 java swing 做游戏(个人选择,不要把它变成 X 更好地做游戏,谢谢),一个 2d 平台游戏。
我正在尝试使用以下代码旋转我的武器:
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);
问题是这样的:
图像转身,就好像它被绑定到图像本身的大小一样!对角线被水平和垂直压缩,并产生弹性效果。不是我要找的...
我希望它围绕中心点旋转,所以没有被压缩!
【问题讨论】:
标签: java rotation bufferedimage graphics2d