Textur2D.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. } // namespace Framework