Registriert seit: 23. Jan 2008
3.686 Beiträge
Delphi 2007 Enterprise
|
Re: Problem mit Spiel: Breakout Kollisionen
29. Mär 2008, 14:36
Ohne zu gucken: Du stellts einfach "irgendwie" die Kollision fest, und kannst dann folgendes einfach machen:
- Ist die am weitesten rechte Y-Koordinate im Brick links der am weitesten linken Y-Koordinate der Kugel, ist die Kugel von rechts angestoßen
- Ist die am weitesten linke Y-Koordinate im Brick rechts der am weitesten rechten Y-Koordinate der Kugel, ist die Kugel von links angestoßen
- ...
Setzt nur voraus, dass deine Kollisionserkennung zuverlässig ist, und evtl. musst du mit dem jeweiligen kürzesten Abstand der "Kugelseiten" zu den Brick-Strecken arbeiten, wenn du zulässt, dass die Kugel "in den Brick" fliegen kann.
Die generell sauberste Lösung wäre es, mit Vektoren zu arbeiten, und die Kollisionserkennung durch Schnittpunktberechnung des Richtungsvektors der Kugel mit den Brick-Seiten zu machen. Dabei kommt automatisch mit heraus, wo genau die Kugel nun auftrifft, und du kannst verhindern, dass sie sich durchdringen.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
|