12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #include "Anim_Boucle.h"
- Anim_Boucle::Anim_Boucle(Uint32 tempsFrequence)
- :Animation(tempsFrequence)
- {
- std::cout << "Construction de boucle appelée." << std::endl;
- }///Constructeur
- Anim_Boucle::~Anim_Boucle()
- {
- //à enlever
- while (!m_bande.empty())
- {
- if (m_bande.back()!=0)
- SDL_FreeSurface(m_bande.back());
- m_bande.pop_back();
- }
- }///Destructeur
- void Anim_Boucle::coller(SDL_Surface* support, int x, int y, bool centrer)
- {
- //[1] Détérmination de l'image active
- SDL_Surface* imageActive;
- imageActive=m_bande[((SDL_GetTicks()-m_tempsDepart)/m_tempsFrequence)%m_bande.size()];
- //[2] Cadrage de l'image
- SDL_Rect position;
- if (centrer)
- {
- position.x=x-imageActive->w/2;
- position.y=y-imageActive->h/2;
- }
- else
- {
- position.x=x;
- position.y=y;
- }
- //[3] Collage de l'image active
- SDL_BlitSurface(imageActive, 0, support, &position);
- }///coller
|