Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
r:Real;
begin
if s1.Visible then begin
r:=(s3.left-s2.Left)*(s3.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',[r]));
s4.DrawSprite;
if r <= 6 then begin
writeln(sqr(r));
ShotMove;
end;
end;
end;
So habe ich das jetzt allerdings ist r viel zu hoch.... muss ich mit r noch irgendwas machen ?
PS: Wie lautet die Ellipse-Funktion (also mit Parametern, hab grad kein Delphi zur hand)
x1,y1,x2,y2
edit:
teilweise geht das schon recht gut:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
r:Real;
begin
if s1.Visible then begin
r:=sqr((s3.left-s2.Left)+(s3.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',[r]));
s4.DrawSprite;
if r <= 6 then begin
writeln(sqr(r));
ShotMove;
end;
end;
end;
Allerdings wenn der Gegner von den Ecken kommt, ist die Zahl zu hoch.