2D-Animationsklasse

Aus Spieleprogrammierer-Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
[unmarkierte Version][unmarkierte Version]
Zeile 22: Zeile 22:
 
|}
 
|}
 
Der Eindruck einer Flüssigen Bewegung wird erhöht in dem die Anzahl der Einzelbilder gesteigert wird, das heißt eine Animation mit 5 (einzelnen) Bildern sieht nicht so flüssig aus, wie eine Animation mit 10 (einzelnen) Bildern die in derselben Zeitspanne dargestellt werden. Letzten Endes läuft es darauf hinaus, dass eine flüssige Animation mindestens 24 (einzelne) Bilder pro Sekunde haben sollte. Wie aber oben in der Tabelle zu erkennen ist, geht es auch mit weniger Bildern.
 
Der Eindruck einer Flüssigen Bewegung wird erhöht in dem die Anzahl der Einzelbilder gesteigert wird, das heißt eine Animation mit 5 (einzelnen) Bildern sieht nicht so flüssig aus, wie eine Animation mit 10 (einzelnen) Bildern die in derselben Zeitspanne dargestellt werden. Letzten Endes läuft es darauf hinaus, dass eine flüssige Animation mindestens 24 (einzelne) Bilder pro Sekunde haben sollte. Wie aber oben in der Tabelle zu erkennen ist, geht es auch mit weniger Bildern.
 +
== Aufbau der 2D Animations Klasse ==
 +
[[Datei:Klassendiagramm2dAnim.png|thumb|right|Klassendiagramm einer möglichen 2D Animations Klasse]]
 +
Der Aufbau einer 2D Animations Klasse muss nicht zwingend genauso aussehen, wie hier Beschrieben. Es gibt auch andere Varianten eine solche Klasse aufzubauen, deshalb ist dies nur stellvertretend für eine Vielzahl an Möglichkeiten. Die hier Vorgestellte Möglichkeit basiert auf der [[Sprite Sheet Klasse]].
 +
 +
Wie in dem Bild des Klassendiagramms Rechts zu sehen ist, enthält die Klasse C2dAnimation folgende Klassenvariablen:
 +
* eine Instanz der CSpriteSheet Klasse (''Sheet'')
 +
* einen Statischer Taktgeber (''Timer'')
 +
* eine float Variable die, die Zeit enthält wann das nächste Bild dargestellt werden soll (''NextFrameTime'')
 +
* eine float Variable die Angibt wie lange die Umschaltzeiteine von einem Bild zum nächsten dauert (''FrameTime'')
 +
* eine int Variable die Angibt welcher der Erste Index auf dem Sprite Sheet für die Animation ist (''FirstFrame'')
 +
* eine int Variable die Angibt welches der Letzte Index auf dem Sprite Sheet für die Animation ist (''LastFrame'')
 +
* eine int Variable die Angibt welches der Aktuelle Index ist (''CurrentFrame'')
 +
* eine int Variable die Angibt welcher Index gültig ist wenn das [http://de.wikipedia.org/wiki/Sprite_(Computergrafik) Sprite] nicht Animiert werden soll (''StopFrame'')
 +
* eine bool Variable die Angibt ob das Sprite Animiert werden soll oder nicht (''Animation_On'')
 +
 +
 +
Weiterhin hat die Klasse C2dAnimation folgende Klassenmethoden:
 +
* eine Methode um das Bild für die Instanz der CSpriteSheet Klasse zu Laden (''Load_SpriteSheet(String path)'')
 +
* eine Methode die das gültige [http://de.wikipedia.org/wiki/Sprite_(Computergrafik) Sprite] zurück gibt
 +
* Set Methode für die relevanten Animationsdaten (''Set_Animation(int firstframe, int lastframe, int stopframe, float frametime)'')
 +
* ein Methode die, die Animation an und aus Schaltet (''Animation_On(bool Value)'')
 +
== Funktionsweise der 2D Animations Klasse ==
 +
== Pseudocode ==

Version vom 12. Oktober 2012, 16:20 Uhr

Klicke hier, um diese Version anzusehen.

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Werkzeuge