habe mal versucht images von oben nach unten durchs bild laufen zu lassen.
hat auch funktioniert bis ich gemerkt hab das alles immer langsamer wird.
da ist mir die idee gekommen, dass ich mein erzeugten images "unter" dem formblatt weiterlaufen.
habe dann das mit free versucht und nachdem die ersten parr images aus dem bild waren, kam ein AccessViolence problem.
hier mal der code:
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
TForm1 =
class(TForm)
PaintBox1: TPaintBox;
Timer1: TTimer;
Timer2: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1 : TForm1;
image :
array of TImage;
// j : Integer = 0;
i : Integer = 0;
k : Integer = 0;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
randomize;
if (k=0)
or
((k
mod 50) = 0)
then begin
SetLength(image,i+1);
image[i] := TImage.Create(Form1);
image[i].Left := Random((Width-image[i].Width));
image[i].Picture.LoadFromFile('
stein.bmp');
image[i].Parent := Form1;
image[i].Top := -image[i].Height;
Inc(i);
end
else
begin
Inc(k);
end;
if i = 100
then timer1.Enabled := false;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
var
j : integer;
begin
for j:= 0
to (i-1)
do
begin
image[j].Top := image[j].Top + 1;
**
if image[j].Top >= Height
then image[j].Free;
end;
end;
end.
wenn ich die zeile mit den sternchen weglass funktioniert das progrämmchen recht gut bis auf das flackern und dass meine runden steine einen eckigen kasten haben.