Einzelnen Beitrag anzeigen

hannibal007

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

Mehrere Bilder gleichzeitig bewegen

  Alt 22. Mär 2005, 18:03
Mein Code funzt leider nur für ein Bild, ich will aber dass mehrere Bilder gleichzeitig nach unten laufen. Das zweite Bild soll ca.1 sekunde nach dem ersten starten. Ich habs schon mit arrays und for Scheifen versucht, jedoch vergeblich. Was muss ich ändern damit auch mehrere Bilder gleichzeitig nach unten laufen können?

Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = vk_left then
  begin
    img1.Left:= img1.left -50; //Korb(img1) wird nach links verschoben.
    if img1.left < 0 then
      form1.img1.Left := 0;
  end;
  if key = vk_right then
  begin
    img1.Left:= img1.left +50; //Korb(img1) wird nach rechts verschoben.
    if img1.Left + img1.Width > form1.Width then
      img1.Left:= form1.Width - img1.Width;
  end;
end;

procedure TForm1.btn1Click(Sender: TObject);
begin
  btn1.Visible := false;
  tm2.Enabled := true;
end;

procedure TForm1.tm1Timer(Sender: TObject);

begin
  bier1.top := bier1.Top + 20; //Geschwindigkeit des Bildes das nach unten läuft.
  if (bier1.Top + bier1.Height >= img1.Top) AND (bier1.Left <= img1.Left + img1.Width) AND (bier1.Left + bier1.Width >= img1.Left) then
  begin
    bier1.Visible := false;
    lblres.Caption := inttostr(strtoint(lblres.Caption)+50); //Wenn mein Korb(img1) eine herunterfallende Bierflasche(bier1) auffängt bekommt man 50 Punkte.
    tm2.Enabled := true;
    tm1.Enabled := false;
  end;
  if bier1.Top > form1.ClientHeight then
  begin
    bier1.Visible := false;
    tm2.Enabled := true;
    tm1.Enabled := false;
  end;
end;

procedure TForm1.tm2Timer(Sender: TObject);

begin
  bier1 := TImage.Create(Self);
  bier1.Parent:= Self;
  bier1.Picture.LoadFromFile('flasche'+inttostr(random(3)+1)+'.bmp'); //Ich habe 3 verschiedene Bilder(flasche1, flasche2, flasche3) Jedesmal wird durch random entschieden welches Bild genommen wird.
  bier1.AutoSize:=True;
  bier1.Left:= random(form1.ClientWidth-bier1.Width);
  bier1.Top:= -(bier1.Height);
  tm1.Enabled := true;
  tm2.Enabled := false;
end;

end.
  Mit Zitat antworten Zitat