2017-05-13 9 views
0

私は、マウスで画面を四角形に移動する必要があるプロジェクトに取り組んでおり、問題が発生しました。キーボードを使用してオブジェクトを制御する他のプロジェクトでの衝突を検出してきた方法は、オブジェクト境界を左、右、上、下の境界線に分割し、それに応じて衝突を処理することです。しかし、この場合、マウスがオブジェクトを制御しています。マウスを速く動かすと、左または右の衝突のために一番上の衝突が間違っています。これを避ける方法はありますか?Javaの高速衝突を検出して処理する方法

+0

多くの問題を抱えています。マウスのイベントを小さなインクリメントで配信するという事実に関連しています。マウスを早く動かすと、イベント間の距離が大きくなります。あなたがしなければならないことは、マウスイベントから別のイベントへのパスを決定し、それらのポイント間の可能な衝突を計算することです – MadProgrammer

答えて

0

マウス座標の間で補間を試みることがあります。現在のマウス座標と前のマウス座標の距離がある値より大きい場合(20とする)、20ピクセルの増分で反復を開始し、それらの点で結託をチェックすることができます。そうすれば、あなたは結託を捕らえ、正しい瞬間にそれを処理するでしょう。