我对编程很陌生,我正在尝试制作一个小游戏,您可以在其中独立控制(旋转)坦克和坦克顶部的不同枪支。(我用的是光滑的)
在坦克旋转期间,枪应该围绕坦克图像的中心旋转,因为它们是连接的。
public void drawTankandGuns(){
tankImage.draw(position.x, position.y);
gunImage.draw(position.x+canonOffsetX, position.y+canonOffsetY);
}
public void rotateDuringMovement(){
gunImage.setCenterOfRotation(tankImage.getWidth/2-gunOffsetX,
tankImage.getHeight/2-gunOffsetY);
gunImage.rotate(angle);
tankImage.rotate(angle);
}
到目前为止效果很好。枪连接并与坦克一起旋转。但是如果我想在没有坦克的情况下旋转枪(并且坦克已经旋转)并将旋转中心设置回枪,枪图像被拉回到其原始位置,失去了围绕坦克旋转的位置.. .
编辑:解决方案是使用不同的方法。绘制 gunImage 取决于 tankImage 旋转的 sin/cos。