Einzelnen Beitrag anzeigen

LeoSam
(Gast)

n/a Beiträge
 
#1

Breakout - Kollision zu Ball(canvas) und Panel?

  Alt 9. Jan 2007, 18:42
Hallo,
ich versuche gerade so eine art Breakout-Spiel zu machen..
mein Problem dabei: wie stelle ich fest ob der Ball (canvas.ellypse) mit einem Panel (liegen als array vor) zusammenstößt und aus welcher Richtung er kommt?

Hier mein Versuch:
Delphi-Quellcode:
for i := 1 to anzahlobjects do
  if (posx + 5 + rechtslinks > pnl[i].Left)
  and (posx - 5 - rechtslinks < pnl[i].Left + pnl[i].Width)
  and (posy + 5 + hochrunter > pnl[i].Top)
  and (posy - 5 - hochrunter < pnl[i].Top + pnl[i].Height) then begin
  ...
wobei pnl[i] die Panels sind, 5 ist die Ballbreite und posx/y sind die Ballkoordinaten

geht auch einigermaßen nur
1. fliegt der Ball zuerst in das Panel rein bevor es abprallt
2. weiß ich nicht an welche Seite es anstößt und
3. nehme ich hierzu an, der Ball sei ein Rechteck; is also nich so perfekt gelöst...

vllt habt ihr ja eine Idee..

Danke schon ma im Vorraus
  Mit Zitat antworten Zitat