Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
t:Real;
begin
if s1.Visible then begin
t:=sqr(s1.left-s2.Left) + sqr(s1.Top-s2.top); ;
s4.SpriteImage.Canvas.Brush.color:=clRed;
s4.SpriteImage.Canvas.FillRect(0,0,100,20);
s4.SpriteImage.Canvas.textout(0,0,Format('%f',[t]));
s4.DrawSprite;
if sqr(t) <= 6 then begin
ShotMove;
end;
end;
end;
so recht geht das noch nicht weil sqr(t)
viel zu hoch ist. was mache ich falsch ?
Vorhin hatte ich mich vertan s1 ist der Gegner s3 ist der Schuss *G* vom Turm.
oder sollte ich abs einsetzten(abs(s1.left-s2.left) ?
@Fussball-Robby
so bekomme ich werte über 1000