#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