Hi, habe wiedermal ein Problem, ich möchte Sachen vom Himmel rieseln lassen,
per zufall also zB Bombe/Herz/Banane.
wenn diese zur Laufzeit erzeugten Images den unteren Rand der Form erreicht haben, sollen sie gelöscht werden.
(das habe ich mit visible gelöst aber das ist glaube auch nicht resourcenschonend)
Nur bekomm ich das nicht hin, folgende Probleme:
- sobald ein neues Bild erzugt wurde ist der Name createitem ja an das neuerzeugte Bild vergeben.
- ich möchte auch abfragen was für ein Bild den boden erreicht hat zB showmessage('Banane hat gerade den Boden erreicht');
hier mal mein derzeitiger Code:
Delphi-Quellcode:
procedure TForm1.itemfabrikTimer(Sender: TObject);
begin
itemcount:=itemcount+1;
createitem:= TImage.Create(self);
createitem.Name:='item' + inttostr (itemcount);
createitem.Parent := Form1;
createitem.Left:=baloon.left+74;
createitem.Top:=baloon.Top+baloon.Height;
createitem.picture.LoadFromFile('img/bomb.gif');
createitem.AutoSize:=true;
createitem.show;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if itemcount>=1 then
createitem.Top:=createitem.Top+1;
if ((itemcount>=1) and (createitem.top>=spielfeld.top+spielfeld.Height-30)) then
createitem.Visible:=False;
end;
LG
Detrox