Ich habe eine Frage über gute Praxis bekommen. Ich mache ein einfaches Spiel und ich mache ein paar Sprites.1 Comprehensive timer vs. multiple, ein Timer pro Objekt
Ich habe eine Sprite-Klasse. In dieser Klasse gibt es einen Timer, der alle paar Millisekunden ausgeführt wird.
Jetzt habe ich eine List<Creatures>
und jeder der "Kreaturen", bekam ein Sprite-Objekt in ihnen, um die Animation zu starten. Das bedeutet, dass jede Kreatur einen Timer hat, der das Gleiche macht.
Ich entschied mich, das zu ändern und einen Timer zu erstellen, der nur auf der Liste iteriert und die Funktion aufruft, die die Animation für jedes "Geschöpf" erstellt.
Was ist eine gute Praxis?
- Geben Sie jeder "Kreatur" einen eigenen Timer.
- Erstellen Sie einen "großen" Timer in der Form, die auf der Liste iterieren, und rufen Sie die Funktion auf, die die Animation von jedem Objekt erstellt.
- Eine andere Art und Weise
Im Verwenden von System.Windows.Forms.Timer – samy
@samy: Stellen Sie fest, dass dieser Zeitgeber den 'Tick'-Ereignisdelegaten auf dem UI-Thread ausführt. –