- var
- CurID : Integer = 1;
- Fertig : Boolean = False;
- procedure MainLoop;
- begin
- while not Fertig do
- begin
- case CurID of
- 1 : RenderDemo1;
- 2 : RenderDemo2;
- 3 : RenderAbspann;
- end;
- SwapBuffers(...);
- end;
- end;
- procedure RenderDemo1;
- begin
- // Hier der eigentliche Render-Code mit Zeitabhängigen Aktionen usw.
- // Wenn die letzte Aktion aingetreten ist, CurID auf 2 Setzen.
- if LastActionDone then CurID := 2;
- end;
- procedure RenderDemo2;
- begin
- // Hier der eigentliche Render-Code mit Zeitabhängigen Aktionen usw.
- // Wenn die letzte Aktion aingetreten ist, CurID auf 3 Setzen.
- if LastActionDone then CurID := 3;
- end;
- procedure RenderAbspann;
- begin
- // Hier der eigentliche Render-Code mit Zeitabhängigen Aktionen usw.
- // Wenn die letzte Aktion aingetreten ist, CurID auf 2 Setzen.
- if LastActionDone then
- if LoopIt then CurID = 1 else Fertig := True;
- end;