Zitat von
Spider:
Sleep kann ich nicht benutzen, da sonst das genze programm einschläft.
Ich denke, Delay wird die gleichen Auswirkungen haben.
Eine Sache, die man grundsätzlich bei der Programmierung von Spielen verinnerlichen muß ist, dass man nirgends irgendwelche Wartefunktionen einbaut.
Dies wird in der Spieleprogrammierung alles über Schleifen geregelt - das ist zwar recht aufwändig, verhindert aber, dass durch "Warteschleifen" andere Gameaktionen behindert werden. Hierbei ist dann auch die Performance des Rechners zu beachten, die z.B. durch die FPS ausgeglichen wird.
Wobei ich mit Schleifen jetzt keine For Next-Schleifen meine, sondern Konstrukte wie z.B.
Delphi-Quellcode:
iDelay=100*Ausgleichswert;
iCounter:=0;
und dann hast Du irgendwo
inc (iCounter);
if iCounter=iDelay then
begin
Macheirgendwas(z.B. Sprite bewegen);
iCounter:=0;
end;
Wichtig ist, den Fluss der sogenannten "Gameloop" nicht zu stören.
Delphi-Quellcode:
While bQuit<>true do
begin
BewegeGegner;
BewegePlayer;
etc.
end;
Gruß Igotcha