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;