1
for spike in self.overlapping_sprites:
    spike.handle_collide

この2行は初心者向けのコーディングマジックです。しかし、私は自分のゲームでレンガの壁にぶつかったようです。テストした後、衝突をより正確にする方法が見つかりません! 私が言いたいのは、2 つのスプライトが実際に接触しているときではなく、スプライトの周りのボックスが重なっているときだということです。では、スプライトの周りの透明な領域が他のスプライトに当たった場合に衝突としてカウントされないようにするにはどうすればよいでしょうか?

4

1 に答える 1

1

最も論理的な方法は、スプライトごとに 2 つの長方形を作成することです。外側の長方形には境界線があり、内側の長方形はオブジェクト自体としてカウントされます。

たとえば、64 x 64 のボックスを考えてみましょう。2 ピクセルの余白がある 62 x 62 の内部ボックスのようにすることができます。実装はそれほど難しくありません。また、ボックスの近くの領域を触れないようにする場合は、衝突の内側の領域のみをチェックします。

于 2015-06-06T23:17:58.160 に答える