Forum: Object-Pascal / Delphi-Language
Delphi
by mkinzler,
2. Jun 2011
-Timer öfters aufrufen (ggf. nicht jedes Mal Zeichnen)
-Abfrage entsprechend anpassen
Forum: Object-Pascal / Delphi-Language
Delphi
by mkinzler,
2. Jun 2011
Wenn die Delta zu groß sind, könnte der Ball über den Schläger springen, wenn die Höhe des Schlägers oder Balls kleiner ist.
if ((ball.top >= schlaeger_2.Top) and (ball.Top <= (schlaeger_2.Top + schlaeger_2.Height)) and (ball.Left >= schlaeger_2.Left) and (ball.Left <= (schlaeger_2.Left + schlaeger_2.Width))) or
(((ball.top + ball.height) >= schlaeger_2.Top) and ((ball.Top +ball.height) <=...
Forum: Object-Pascal / Delphi-Language
Delphi
by mkinzler,
2. Jun 2011
Der Ball besteht ja nicht nur aus dem einen Punkt? Um wiviel Pixel bewegt sich den der Ball pro Frame?
Forum: Object-Pascal / Delphi-Language
Delphi
by mkinzler,
2. Jun 2011
Du hast ja bisher auch nur den Punkt links oben des Balles abgeprüft.
Forum: Object-Pascal / Delphi-Language
Delphi
by mkinzler,
2. Jun 2011
Deine x und y sind aber ausserhalb des Schlägers.
Die zu vergleichende Position muss >= der oberen Kante ( Top), <= der unteren Kante ( Top+Height), >= der linken Kante (Left) und <= der rechten Kante ( Left+Width) sein.
Btw. wir sehen es nicht gern, wenn man pusht.
Forum: Object-Pascal / Delphi-Language
Delphi
by mkinzler,
2. Jun 2011
Den Ball hast du aber schon? Wiewo speicherst du die Koordinaten von ball Schläger, Tor usw.?
Eine Kollisionserkennung erfolgt ja durch Vergleich dieser Koordinaten.
Forum: Object-Pascal / Delphi-Language
Delphi
by mkinzler,
2. Jun 2011
Zeig mal, was du schon hast und wir zeigen dir dann, wo der Fehler liegt.