Thema: Delphi Sinus...oder Pong die 2.

Einzelnen Beitrag anzeigen

Benutzerbild von Mr_T
Mr_T

Registriert seit: 7. Jun 2002
Ort: Eilsum
136 Beiträge
 
Delphi 2005 Personal
 
#11
  Alt 24. Nov 2002, 20:10
Also ich habe mal ne Variante ohne den Sinus gemacht:
Code:
if (ball.xpos < -2.7) and (ball.xpos > -3.1) and (ball.ypos < spielerrot.pos + 0.9) and (ball.ypos > spielerrot.pos - 0.95)then
begin
if ball.xspeed < 0 then
begin
 if ball.ypos > spielerrot.pos then
 begin
 ball.yspeed := (ball.ypos-spielerrot.pos)*(0.3);
 ball.xspeed := sqrt((0.09 - (ball.yspeed*ball.yspeed)));
 end
 else
 begin
 ball.yspeed := (spielerrot.pos-ball.ypos)*(-0.3);
 ball.xspeed := sqrt((0.09 - (ball.yspeed*ball.yspeed)));
 end;
end;
end
Hierbei stellen die ersten Werte (die bei Ball.xpos getestet werden) den bereich dar, in dem eine Kollision überhaupt stattfinden kann .... die Y - Pos des Balles wird der eines schlägers verglichen ....
Danach erfolgt eine neuberechnung der Ballgeschwindigkeiten, wobei ich dabei immer im bedacht hatte, das die Geschwindigkeit immer 0,3 ist (durch dieses SQRT per Pytagoras auch realisiert).... und: die x-speed ist immer > 0, da die Differenz zwischen Pos(ball) und Pos(Schläger) nie 1 werden kann (wenn sie 1 ist, geht der ball vorbei...)
Ich hoffe, ich ahbe dasnicht zu kompliziert ausgedrückt....
Mein neuer, 13 Teiliger Open GL - Kurs (Samples in Delphi):
www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!
Neu! Teil 2b: Initialisierung von OpenGL unter Kylix ist fertig!
  Mit Zitat antworten Zitat