Moinsen!
Ich programmiere seit Sommer 2003 mit Turbo-Pascal7.0.
Hab schon so\'n bissel mit Grafikprogrammierung gearbeitet.
Ich hab eine Hubschrauber programmiert, welcher sich mit ver-
schiedenen Tasten steuern lässt. Jedes Mal wenn ich ihn bewege,
wird das Bild (Hintergrundbild: brauner Boden und ein Baum) neu aufgebaut. Wenn ich die Steuerungstaste gedrückt halte, um schneller
zu fliegen, wird also bei jedem Signal das Bild ge\'ClearDevice\'t.
Dann entsteht ein Flimmern. Wie kann ich das verhindern????
Gruß KoRny Boy
Programmieren - alles kontrollieren 4.937 Themen, 20.662 Beiträge
Hi!
Mit normalem zeichnen wird's schwierig. Ich weiss nicht, ob man im PC den zeilenrücklauf des Bildschirms abfragen kann und damit dann zeichnen kann, wenn der Monitor gerade das Bild nicht neu aufbaut (Bei TFTs sollte das dann nutzlos sein...).
Bliebe noch zwei Bildschirme zum Zeichnen einzusetzen und dann einfach nur umzuschalten (müsste nachschauen, ob das mit den normalen EGA/VGA-Modes geht).
Die letzte Möglichkeit: auf das Löschen vor dem Zeichnen verzichten. Kennen die Turbo-Pascal-Routinen die zeichnfarbe "Transparent"? Ich weiss es nicht udn müsste es erst ausprobieren.
Falls nicht, dann überschreibt der Hintertgrund doch gegebenfalls das zuvor gezeichnete Element, wenn man einen Recheckblock auf den Bildschirm kopiert. Zumindest bei einfachem Hintergrund müsste das klappen (es bleibt das Problem des Darüberzeuchnens anderer Elemente).
OK, ich hab' die TP-Bibel aus dem Regal gezogen "Borland Delphi 7.0 - das Buch":
Schau dir am besten die Befehle Get/SetVisualPage() und Set/GetActivePage() an und zusätzlich die Befehle Gert/SetImage(), falls du diese nicht verwendest.
Bis denn
Andreas