私は2Dトップダウンシューティングゲームに取り組んでおり、今では基本的な四角形の境界ボックス衝突システムを超える必要があります。
私は多くの異なるスプライトを持つ大きなレベルを持っています。それらはすべて異なる形状とサイズです。スプライトのテクスチャはすべて透明な背景を持つ正方形のpngファイルであるため、プレーヤーが透明な背景ではなくテクスチャの色付き部分に進入したときにのみ衝突する方法も必要です。
次のように衝突を処理する予定です。
- プレーヤーの範囲内にスプライトがあるかどうかを確認します
- 四角形の境界ボックスの衝突テストを行う
- 正確な衝突を行う(助けが必要な場合)
私はすべての要件を念頭に置いてこれを正しくしたいので、高度な技術は気にしませんが、これにどのようにアプローチするのかわかりません。どんなテクニック、さらにはライブラリも試してみてください。私はおそらく、各スプライトから透明な背景を差し引いたものを正確に表す何らかの種類の形状を作成して保存する必要があることを知っています。
私はピクセルごとに遅いことを読んだので、私の大きなレベルとオブジェクトの数を考えると、私はそれが適切だとは思わない。Box2dも調べましたが、多くのドキュメントや、SFMLでそれを実行する方法の例を見つけることができませんでした。