複数のオブジェクトを回転させて一緒に回転させたいと思います。彼らは0度(まっすぐ向いている)である場合、彼らは良いですが、そうでないとき、それは次のようになります。JavaFX Canvasの複数のイメージで回転を同期させる方法
私が回転し、このコードを使用しています:
private void rotate(GraphicsContext gc, double angle, double px, double py) {
Rotate r = new Rotate(angle, px, py);
gc.setTransform(r.getMxx(), r.getMyx(), r.getMxy(), r.getMyy(), r.getTx(), r.getTy());
}
private void drawRotatedImage(GraphicsContext gc, Image image, double angle, double tlpx, double tlpy) {
gc.save(); // saves the current state on stack, including the current transform
rotate(gc, angle, tlpx + image.getWidth()/2, tlpy + image.getHeight()/2);
gc.drawImage(image, tlpx, tlpy);
gc.restore(); // back to original state (before rotation)
}
私は使用する画像の配列を持っており、drawRotatedImage
を1つの統一された角度で呼び出すことによって回転させます。すべての画像は32 x 32
です。 イメージにこのシフトをどうやって解決できますか?
は、問題を再現することはできません。私がテストすれば、コードはそれぞれの中心を中心に画像を回転させます。 – fabian
@fabian 1度の変数があります。その変数を使用して表示される画像のリストがあります。それらはすべて32 x 32です。それらには指定する 'x'と' y'座標があります。私はそれらの座標でそれらを描画し、画像を回転させます。どのようにして全体を回転させることができますか? – theTechnoKid