Textur2D.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #pragma once
  2. #include "Array.h"
  3. namespace Framework
  4. {
  5. class Bild;
  6. class Animation2DData;
  7. class Textur2D
  8. {
  9. private:
  10. struct Animation
  11. {
  12. Animation2DData *data;
  13. int jetzt;
  14. double ausgleich;
  15. };
  16. bool circularAnimation;
  17. int animationIndex;
  18. Bild *txt;
  19. Array< Animation* > *animData;
  20. int ref;
  21. public:
  22. // Konstructor
  23. Textur2D();
  24. // Destructor
  25. ~Textur2D();
  26. // Legt fest, ob die animation sich automatisch wiederhohlen soll
  27. // ca: 1, falls sich die animation automatisch wiederhohlen soll
  28. void setCircularAnimation( bool ca );
  29. // setzt einen Zeiger auf die Textur (fals nicht animiert)
  30. // textur: Der Zeiger auf das Bild
  31. void setTexturZ( Bild *textur );
  32. // fügt eine Animation hinzu
  33. // textur: Der Zeiger auf die Animationsdaten
  34. void addAnimationZ( Animation2DData *textur );
  35. // aktiviert die nachfolgende animation
  36. void nextAnimation();
  37. // setzt die vergangene Zeit seit dem letzten Aufruf
  38. // t: die vergangene Zeit in sekunden
  39. bool tick( double t );
  40. // gibt die aktuelle Textur zurück
  41. Bild *zTextur() const;
  42. // erhöht den Reference Counter um 1 und gibt this zurück
  43. Textur2D *getThis();
  44. // verringert den reference counter um 1 und löscht sich selbst, falls er 0 erreicht
  45. // gibt 0 zurück
  46. Textur2D *release();
  47. };
  48. }