Name: Animation/movie Player
Date: 02.11.04
Type of Work: design, implementation/coding, graphics
Prerequirements: C++(50%), OpenGL(30%), Graphics(20%)
Priority: 3
Workprogress: 0%
Abstract: A method to play animations like explosions/water/wapeons during the game on the game-screen.
Abspielen einer bilderfolge an einem beliebigen Ort im Bildschirm. It is also possible to show fullscreen cinematics.
Eingabe-Ausgabe: Type of Data: Class/Function
Eingang: what to play, where to play, dataformat z.B. explosion1.avi, new Location(100, 245, 543), avi
Ausgang: animation playing on screen.
Anwendungszwecke: Racketen/Lasers die abgeschossen werden (waffen die sich bewegen, gluehen)
Explosionen im Fall von Kollisionen/Einschlaegen
Umgebung wie Wasser, Gras etc
Ansprueche: Eine Animation ist ein Teil einer WorldEntity
Eine WorldEntity kann meherere Animationen beinhalten und gleichzeitig abspielen
Die WE muss wissen was fuer Animationen in welcher Situation abgespielt werden muessen.
SpeicherFormat
frei, muss aber open-source "kompatibel" sein. (also nicht jpeg)
balance aus speicherschonend und billig zu dekodieren
Animation muss sich mit der WorldEntity mitbewegen
Animation kann sich in der groesse veraendern
Transparente effekte
Implementierung: Eine Animation gehert einer WorldEntity (einleuchtend, denn ein spieler entscheidet wann geschossen werden muss und damit eine animation dargestellt werden muss). Somit beinhaltet eine WorldEntity eine Klasse Animation. Diese Klasse hat eine liste der momentan laufenden Animationen
Aehnlich wie die WorldEntity::draw() function wird eine Animation::draw() function aufgerufen, im gleichen Takt.
Offene Fragen: Hintergrund nicht verdecken mit der Animation (v.a. an den Ecken aufpassen)
Was fuer eine Art Datenformat muss verwendet werden um die animationen effizient darzustellen.