Einzelnen Beitrag anzeigen

Scurra

Registriert seit: 19. Jan 2015
81 Beiträge
 
Delphi 10.3 Rio
 
#18

AW: Canvas: Änderungen/Bewegungen zeichnen

  Alt 1. Sep 2018, 22:05
Es gibt noch nicht wirklich viel zu sehen. Im Hauptformular (Anhang Main.jpg) ist bisher nur der nackte Aufbau des UIs zu erkennen. Über einen separaten Einstellungs-Dialog kann man Datum und Uhrzeit im Spiel und das Wetter einstellen. Letzteres ist im Moment noch statisch, d. h. es verändert sich noch nicht mit der Zeit. Die Anzeige der eingestellten Uhrzeit hat mich besonders viel Zeit gekostet, weil ich den Eindruck hatte, dass Timer ziemlich unpräzise sind und ich auch weitestgehend auf Timer verzichten möchte. Stattdessen habe ich eine Klasse implementiert, die mit Hilfe eines Threads nach jeder Sekunde einen Callback an den UI-Thread ausführt, damit dieser im UI die aktuelle Spielzeit anzeigen kann. Die Klasse bietet auch die Möglichkeit, den Thread zu pausieren (wenn man Spieleinstellungen ändert, soll die Simulation stehen bleiben, d. h. auch die Uhrzeit darf sich nicht ändern).

Ähnlich möchte ich das auch für das Aktualisieren des Radarbildschirms machen, die Implementierung ist ja schon vorhanden. Hier soll der Thread beispielsweise alle 2 Sekunden ein Event triggern, das meinem Programm sagt, dass der Radarbildschirm aktualisiert werden soll.

Im Anhang "Zeichnen.jpg" sind meine ersten Versuche beim Zeichnen, die ich im Rahmen dieses Themas im Forum gemacht habe. In der Demoanwendung habe ich einen Timer verwendet, um die Position der angezeigten Elemente jede Sekunde um 3 Pixel nach rechts wandern zu lassen (letzteres kann man im Screenshot natürlich nicht sehen ).
Miniaturansicht angehängter Grafiken
main.jpg   zeichnen.jpg  

Geändert von Scurra ( 1. Sep 2018 um 22:08 Uhr)
  Mit Zitat antworten Zitat