-1

ジグソーパズルのようなゲームを作ろうとしています。View を拡張するクラスを使用しており、その draw メソッドで、さまざまなビットマップ ピースを描画しています。ユーザーがビットマップをタップすると、そのビットマップが 90 度回転します。完璧に機能しています。しかし、ユーザーがいくつかのビットマップの断片を組み合わせてからグループを回転すると、ビットマップは中心点を中心に回転し、グループ構造が破壊されます。

私の質問は、ビットマップのグループが回転するときにその形状構造を保持するように、ビットマップのセットを共通のピボットポイントを中心に回転させる方法です?

4

1 に答える 1

0

問題の原因となっている各ピースが中央に重み付けされていると想定しています。

考えられるのは、背景を中心に重み付けされたオブジェクトにするか、背景を見て中心を回転点として宣言することです。

次に、各ジグソー ピースのおおよそのボックス サイズを計算します (これは、ズームを使用している場合に基づいて動的になる可能性があります)。Draw() でビットマップ オブジェクトとして画面上の配置を把握します。

ここで、角度を取得するために回転している画面の中心から端まで線を引いていると想像してください。

したがって、この新しい情報に基づいて、画面の回転の中心によって設定された角度に基づいて、中央に重みのあるオブジェクト (ジグソー ピース) ごとに新しい角度を計算する必要があります。画面の中心によって新しい線または回転角度が設定されるため、各ピースの軸の回転角度は異なります。

これは、プログラミングよりもアルゴリズム/計算に近いものであり、問​​題の詳細が役立ちます。

于 2012-11-16T06:51:13.397 に答える