cocos2dとbox2dを使ってiPadゲームを作っています。
他の要素の中には、動きの速いプレーヤー オブジェクトと一連の静的線オブジェクトがあります。プレーヤーが線を横切ったときに線を検出する必要がありますが、プレーヤー オブジェクトやゲーム内の他の移動オブジェクトに対する壁のようには機能しないようにします。それで、ラインをセンサーに設定しました。
ただし、Box2D が高速移動オブジェクトの衝突検出のために持っている気の利いたアンチトンネリング コードは、センサーとして設定されたボディには適用されないようです。これで、私のプレーヤー オブジェクトはラインを通過し、おそらく 5 回に 1 回しか検出されません。
スプライトがどんなに速く進んでいても、スプライトがラインを横切るたびに検出するようにするにはどうすればよいですか?
編集:誰かが同様の問題を抱えていて、可能な解決策を見つけたbox2Dフォーラムでこの投稿を見つけました。ただし、ソリューションの実装方法には従いません。他の人の助けになるかもしれませんし、誰かがこの人が何をしたかをもっと明確に説明できるかもしれません。彼らが言ったことは次のとおりです。