Einzelnen Beitrag anzeigen

Benutzerbild von Dunkelbunt27
Dunkelbunt27

Registriert seit: 10. Aug 2010
232 Beiträge
 
Delphi XE Professional
 
#20

AW: Zielsuchende Objekte

  Alt 11. Aug 2010, 17:58
Hab einen fehler gemacht:
so ist mein eigentlicher Quelltext:
Delphi-Quellcode:
if laenge = 100 then
 begin
      image1.canvas.moveto(shape1.left, shape1.top);
      image1.canvas.lineto(round(mittex), round(mittey));
  end;
und das image ist bildschirmfüllend, also kann das shape das image nicht überlappen

Edit: du wolltest etwas Quelltext^^ Hier hast du =)

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
n : integer;
begin
shape1.visible := True;

  Timer1.enabled := True;
    randomize;
    n := random(4)+1;

  if (n=1) or (n=2) or (n=3) then
  begin
  randomize;
   shape1.left:= 5;
   shape1.top:= random(775+1);
 end;

  if n=2 then
  begin
   randomize;
   shape1.left:= random(1320+1);
   shape1.top:= 5;
 end;

 if n=1 then
  begin
   randomize;
   shape1.left:= 1300;
   shape1.top:= random(775+1);
 end;

   if n=2 then
  begin
   randomize;
   shape1.left:= random(1320+1);
   shape1.top:= 775;
 end;
end;

procedure TForm1.Image1Click(Sender: TObject);
begin

end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 mittex := shape2.Left;
 mittey := shape2.top;
 schiffx := shape1.left;
 schiffy := shape1.top;
 vx := mittex-schiffx;
 vy := mittey-schiffy;
 

 laenge := sqrt(sqr(vx)+sqr(vy));
 if laenge >100 then
 begin
 vx := vx/laenge;
 vy := vy/laenge;
 
 schiffx :=round(schiffx+vx*1);
 schiffy := round(schiffy+vy*1);
 
 shape1.left := round(schiffx);
 shape1.top := round(schiffy);
 
 if laenge = 100 then
 begin
      image1.canvas.moveto(shape1.left, shape1.top);
      image1.canvas.lineto(round(mittex), round(mittey));
  end;

Geändert von Dunkelbunt27 (11. Aug 2010 um 18:08 Uhr)
  Mit Zitat antworten Zitat