12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #pragma once
- #include "Array.h"
- namespace Framework
- {
- class Bild;
- class Animation2DData;
- class Textur2D
- {
- private:
- struct Animation
- {
- Animation2DData *data;
- int jetzt;
- double ausgleich;
- };
- bool circularAnimation;
- int animationIndex;
- Bild *txt;
- Array< Animation* > *animData;
- int ref;
- public:
- // Konstructor
- Textur2D();
- // Destructor
- ~Textur2D();
- // Legt fest, ob die animation sich automatisch wiederhohlen soll
- // ca: 1, falls sich die animation automatisch wiederhohlen soll
- void setCircularAnimation( bool ca );
- // setzt einen Zeiger auf die Textur (fals nicht animiert)
- // textur: Der Zeiger auf das Bild
- void setTexturZ( Bild *textur );
- // fügt eine Animation hinzu
- // textur: Der Zeiger auf die Animationsdaten
- void addAnimationZ( Animation2DData *textur );
- // aktiviert die nachfolgende animation
- void nextAnimation();
- // setzt die vergangene Zeit seit dem letzten Aufruf
- // t: die vergangene Zeit in sekunden
- bool tick( double t );
- // gibt die aktuelle Textur zurück
- Bild *zTextur() const;
- // erhöht den Reference Counter um 1 und gibt this zurück
- Textur2D *getThis();
- // verringert den reference counter um 1 und löscht sich selbst, falls er 0 erreicht
- // gibt 0 zurück
- Textur2D *release();
- };
- }
|