Textur2D.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #pragma once
  2. #include "Array.h"
  3. namespace Framework
  4. {
  5. class Bild;
  6. class Animation2DData;
  7. class Textur2D : public virtual ReferenceCounter
  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. public:
  21. //! Konstructor
  22. DLLEXPORT Textur2D();
  23. //! Destructor
  24. DLLEXPORT ~Textur2D();
  25. //! Legt fest, ob die animation sich automatisch wiederhohlen soll
  26. //! \param ca 1, falls sich die animation automatisch wiederhohlen soll
  27. DLLEXPORT void setCircularAnimation( bool ca );
  28. //! setzt einen Zeiger auf die Textur (fals nicht animiert)
  29. //! \param textur Der Zeiger auf das Bild
  30. DLLEXPORT void setTexturZ( Bild *textur );
  31. //! fügt eine Animation hinzu
  32. //! \param textur Der Zeiger auf die Animationsdaten
  33. DLLEXPORT void addAnimationZ( Animation2DData *textur );
  34. //! setzt die aktuelle Annimation
  35. //! \param index Der Index der Animation
  36. DLLEXPORT void setAnimation( int index );
  37. //! aktiviert die nachfolgende animation
  38. DLLEXPORT void nextAnimation();
  39. //! setzt die vergangene Zeit seit dem letzten Aufruf
  40. //! \param t die vergangene Zeit in sekunden
  41. DLLEXPORT bool tick( double t );
  42. //! gibt die aktuelle Textur zurück
  43. DLLEXPORT Bild *zTextur() const;
  44. };
  45. }