Einzelnen Beitrag anzeigen

Detrox

Registriert seit: 26. Okt 2009
59 Beiträge
 
#1

zur laufzeit erstellte Items löschen und Name zuweisen

  Alt 29. Okt 2009, 17:37
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
  Mit Zitat antworten Zitat