2017-09-13 13 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

画像における矢印具体的には唯一の代わりに赤い(回転長方形)の青い長方形(元の位置)のための衝突を検出することができます。

私は実際に矩形を描画したくないが、矢印が矩形と衝突したときに衝突を検出したい。

答えて

2

AffineTransform.createTransformedShape(Shape)を参照してください:

は、この変換によって変換された後、指定Shapeの形状によって定義される新しいShapeオブジェクトを返します。

関連する問題