
Zitat von
dizzy:
@maximov: Die Masse "pennt"

Und was meinst du mit "durchcyceln" ?
Du kennst doch das spiel 'Asteroids' (das mit den felsbrocken im welt raum, die man zerschiessen kann)? Wenn ein fels oben verschwindet, dann kommt er von unter wieder rein. Das könnte lustige effekte geben. Geil wär auch, wenn man auf grosse massen schiessen könnte und diese dann zerfallen.
Zitat:
@maximov(2): Die Sache mit den Buttons ist die: [Start] startet eine Schleife mit einem Application.ProcessMessages. Pause beendet diese Schleife nicht, sondern nimmt nur den Berechnungsblock raus, so dass nurnoch das ProcesssMessages geloopt wird. Erst der Stop-Button beendet die äusserste Schleife, und erst jetzt lässt sich das Programm schließen bzw. tut es das wenn vorher irgendwann das X gedrückt wurde. Diese etwas wenig elegante Methode habe ich gewählt, da ich irgendwie keine Lust auf Threads hatte

Threads würd ich auf nicht machen, da hast du nur sychronisations-kosten. Aber du kannst ganz leicht das application.OnIdle event nutzen:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
...
Application.OnActivate := AppActivate;
Application.OnDeactivate := AppDeactivate;
end;
procedure TForm1.GameFrame(Sender: TObject; var Done: Boolean);
begin
MacheRechnungUndZeichne;
Done := false;
end;
procedure TForm1.AppActivate(Sender: TObject);
begin
application.OnIdle := GameFrame;
end;
procedure TForm1.AppDeactivate(Sender: TObject);
begin
application.OnIdle := nil;
end;
Und wenn du zu anderen apps wechselst, dann wird der game loop ausser kraft gesetz.
Zitat:
\\edit: Ach ja! Ne
DirectX-Version gibt es quasi schon. Halt an Stelle von Graphics32 nen DirectDraw-Image... Aber der Vorteil ist absolut minimal, da G32 schon sehr fix ist, und die reine Darstellung Kleinkram ist. Zumal DirectDraw nativ kein Zeichnen von antialiasten Linien (Richtungsvektoren) mitbringt, und es wird noch die Option "Motionblur" geben - nur wie in nem anderen Thread bereits geschrieben kann DD selbst DAS nicht von Hause aus. Dafür muss man auf Direct3D zurückgreifen, und das ist mir für so einen kleinen Effekt zu heftig.
Nicht wenn man 'ne fertige render engine hat

...leider hab ich momentan dafür keine zeit. Aber is so ja auch geil
mâxîmôv.
{KDT}