2012-01-03 8 views
0

円の間に隙間がないように、タッチイベントの移動フェーズで別の円と重なるサークルを描画する方法。サークルは互いに緊密にパックする必要があります。手を画面上で速くまたは軽く動かすと、円の間に隙間がなくてはなりません。コロナのサークルが重複して描画される

答えて

0

ただ2つの円ですか?または多くのサークルですか?ただ2つの場合、重なり合っているかどうかを検出することは、それらの中心がそれらの半径の合計よりも近くないことを単に検証することである。たとえば、Circle1の乱視が10ピクセルで、Circle2の半径が25ピクセルの場合、Circle1の中心がCircle2の中心から35ピクセル未満の場合、重複します。

「移動した」フェーズで計算を行い、それらが近すぎるとわかった場合は、そのうちの1つの位置を調整する必要があります。どのように進むかは、アプリケーションの仕様に依存します。

  • 移動円のy座標を同じにして、必要な距離を維持するために必要なx座標を計算します。
  • 上記と同じですが、xとyを入れ替えます。
  • 上記と同じですが、「動いていない」円を「動いている」円から遠ざけてください。
  • アプリケーションに合った計算方法があります。

注:あなたが与えた答えのいくつかを受け入れる必要があります。

関連する問題