Delphi-Quellcode:
type
TBall = class(TAdSprite)
public
VelocityX,
VelocityY: double;
procedure DoMove(TimeGap: double); override;
procedure Launch(Alpha, Velocity: double);
end;
procedure TBall.DoMove(TimeGap: double);
const
g = 9.81;
begin
X := X+VelocityX*TimeGap;
Y := Y+VelocityY*TimeGap;
VelocityY := VelocityY + g*TimeGap;
end;
procedure TBall.Launch(Alpha, Velocity: double);
begin
VelocityX := cos(Alpha)*Velocity;
VelocityY := sin(Alpha)*Velocity;
end;
Sollte es nicht so gehen? (Ohne Gewähr, nur schnell im Editorfenster zusammengebastelt) Wie Andreas schon sagt, handelt es sich dabei um eine Simulation, keine Berechnung.