2017-09-13 147 views
1

我创建一个小的Java 2D游戏,我想知道是否有什么办法可以在上面的代码旋转AWT矩形如何在JAVA中旋转AWT矩形?

AffineTransform origXform = g2d.getTransform(); 
AffineTransform newXform = (AffineTransform) origXform.clone(); 
newXform.rotate(angle, pivotX, pivotY); // pivotX ,pivotY is the starting 
point of the hand image 
g2d.setTransform(newXform); 
Rectangle arm = new Rectangle(bowX + 5, bowY + 55, 60, 5); 
g2d.drawImage(playerBowReadyImg, bowX, bowY, null); //hand image 

我简单地画,其旋转基于鼠标位置的手指图像,我也将矩形设置在手上,但问题是矩形不随手形象旋转。

此外,我不使用矩形为任何绘图的目的,但检测碰撞。

但是使用g2d.draw(arm);绘制旋转的矩形,但它实际上不旋转矩形,它只是绘制旋转的矩形。

任何建议表示赞赏。

好吧,我的问题被标记为重复,所以我尝试了我在那里找到的答案,但我得到的代码只能旋转我的矩形只为绘图的目的。

Image to depict the problem

现在更具体图像中的箭头只能检测用于蓝色矩形(原来的位置),而不是红色的(旋转的矩形)的碰撞。

再次我不想绘制矩形,但想要在箭头与矩形碰撞时检测碰撞。

回答