これについては、デバッグレンダラーを使用して確認しました。ゲームが始まると、すべてが順調です。しかし、衝突が発生すると、スプライトの回転はその本体よりもはるかに大きくなります。ボディが完全に水平の場合、スプライトとボディは一致します。
スプライトの回転の原点は、本来あるべき場所から遠く離れているようです。これが私のコードです:
Sprite sprite = data.sprite;
position = body.getPosition();
sprite.setPosition(
position.x - sprite.getWidth() / 2,
position.y - sprite.getHeight() / 2
);
sprite.setOrigin(position.x, position.y);
sprite.setRotation(MathUtils.radiansToDegrees * body.getAngle());
ご覧のとおり、回転の中心を設定しようとしてsetOrigin
も成功していません。どうすれば修正できますか?