Einzelnen Beitrag anzeigen

waldforest

Registriert seit: 8. Mai 2005
366 Beiträge
 
Delphi XE3 Enterprise
 
#27

Re: reflektierender Ball - Hilfe!

  Alt 11. Apr 2010, 18:45
Ja, dies ist richtig, aber prinzipiell erfolgt der Vergleich wie bei den Raumgrenzen des Panels, halt werden nicht die Panelgrenzen, sondern die des Schlägers als Wertepaar verglichen.


z.B. im Timer folgendes noch hinzufügen, hier kannst du über die .TOP auch noch ggf. einen sich im Raum bewegenden Schläger abfragen, also nicht nur einen Schläger der sich auf der x-Achse verändert.

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin

 If ((sball.top+sball.Height >= Schlaeger.Top) and (sball.top <= Schlaeger.Top)) then
         if (sball.left >= Schlaeger.left-Schlaeger.Width) and (sball.left <= Schlaeger.left+Schlaeger.Width) then
             by := -by;

// und weiter im bereits bestehenden Code
Dies lässt sich sicherlich noch optimieren, ist aber einmal ein Ansatz.
mfg wf
  Mit Zitat antworten Zitat