Einzelnen Beitrag anzeigen

hannibal007

Registriert seit: 22. Mär 2005
6 Beiträge
 
#3

Re: Mehrere Bilder gleichzeitig bewegen

  Alt 22. Mär 2005, 21:41
Um die Anzahl der Bilder zu erhöhen habe ich eine for Schleife eingebaut, leider funzt es aber nicht richtig. Die Bilder werden zwar angezeigt, jedoch bewegen sie sich nicht nach unten. Es bewegt sich nur ein unsichtbares Bild unendlich weit nach unten.


Delphi-Quellcode:
procedure TForm1.tm1Timer(Sender: TObject);
type imgsammlung = Array[1 .. 3] of timage;
var biertest : imgsammlung;
    I : integer;
begin
  biertest[1] := bier1;
  biertest[2] := bier2;
  biertest[3] := bier3;
  for I := 1 to strtoint(lbl1.Caption) do
  biertest[I].top := biertest[I].Top + 20;
  begin
  if (biertest[I].Top + biertest[I].Height >= img1.Top) AND (biertest[I].Left <= img1.Left + img1.Width) AND (biertest[I].Left + biertest[I].Width >= img1.Left) then
  begin
    biertest[I].Visible := false;
    lblres.Caption := inttostr(strtoint(lblres.Caption)+50);
  end;
  if biertest[I].Top > form1.ClientHeight then
    biertest[I].Visible := false;
  end;
end;

procedure TForm1.tm2Timer(Sender: TObject);
type imgsammlung = Array[1 .. 3] of timage;
var biertest : imgsammlung;
    I, A : integer;
begin
  biertest[1] := bier1;
  biertest[2] := bier2;
  biertest[3] := bier3;
  A := random(3)+1;
  lbl1.Caption := inttostr(A);
  for I:= 1 to A do
  begin
    biertest[I] := TImage.Create(Self);
    biertest[I].Parent:= Self;
    biertest[I].Picture.LoadFromFile('flasche'+inttostr(random(3)+1)+'.bmp');
    biertest[I].AutoSize:=True;
    biertest[I].Left:= random(form1.ClientWidth-biertest[I].Width);
    biertest[I].Top:= (biertest[I].Height);
  end;
  tm1.Enabled := true;
end;
  Mit Zitat antworten Zitat