1

ユーザーがメイン スプライトをドラッグしているゲームがあります。ユーザーがメイン スプライトを非常に速くドラッグした場合を除いて、メイン スプライトは他のスプライトと問題なく衝突します。メイン スプライトがすばやく移動しているときに、物理ボディが互いにちょうど通り過ぎて、2 つのスプライトが突然重なり合うことがあります。didBeginContact でヒット カウントをログに記録するブレークポイント セットがありますが、ヒットしません。

スプライトが動き、didBeginContact でカバーできる速度に制限はありますか? ゲームサイクルが衝突を処理できるよりも速くスプライトを動かすことをユーザーに許可していますか?

繰り返しになりますが、スプライトが低速で移動している場合、物理は完全に機能しています。

4

2 に答える 2

2

これらはすべてフレームごとに計算されることを忘れないでください。おそらく、スプライトをあまりにも速く動かしているため、フレームが少なすぎて衝突として数えられずに画面の反対側に表示されてしまいます。誰かが指を痙攣的に動かしている場合、それをキャッチできない可能性があります。スプライトなどに何らかの速度制限を設定できます。

于 2015-03-19T00:21:52.467 に答える