Zitat:
Delphi-Quellcode:
procedure TForm1.trash;
var start:longint;
i:integer;
begin
repeat
start:=gettickcount;
repeat Application.ProcessMessages until GetTickCount>=start+50;
image4.picture.LoadFromFile('.\pics\trash_open1.bmp');
repeat Application.ProcessMessages until GetTickCount>=start+100;
image4.Picture.loadfromfile('.\pics\trash_open2.bmp');
repeat Application.ProcessMessages until GetTickCount>=start+150;
image4.Picture.LoadFromFile('.\pics\trash_blum.bmp');
repeat Application.ProcessMessages until GetTickCount>=start+250;
image4.Picture.loadfromfile('.\pics\trash.bmp');
inc(i);
until i=10;
end;
Also, wozu die until i=10 ?
Dann macht er die selbe animation ja nicht 10 mal da die Zeit um ist.
Einfach so:
Delphi-Quellcode:
procedure TForm1.trash;
var start:longint;
begin
start:=gettickcount;
repeat Application.ProcessMessages until GetTickCount>=start+50;
image4.picture.LoadFromFile('.\pics\trash_open1.bmp');
repeat Application.ProcessMessages until GetTickCount>=start+100;
image4.Picture.loadfromfile('.\pics\trash_open2.bmp');
repeat Application.ProcessMessages until GetTickCount>=start+150;
image4.Picture.LoadFromFile('.\pics\trash_blum.bmp');
repeat Application.ProcessMessages until GetTickCount>=start+250;
image4.Picture.loadfromfile('.\pics\trash.bmp');
end;
Für ein spiel ist Paintox nicht ganz so schlecht wie Image aber immer noch grotten schelcht.
nee..
da musst du direkt aufs Canvas Malen mit bitblt
BitBlt(form1.Canvas.Handle,x,y, bild.Width, bild.Height, bild.canvas.Handle,0 ,0,srccopy);
Das ist, so weit ich weis, die schnelltste Möglichkeit fürs 2d malen.
Dann musst du natürlicxh noch bei jedem ONPaint der Form neu Zeichen, damit nix flackert.