12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #include "DisplayHP.h"
- DisplayHP::DisplayHP( int vieMax, Uint32 front, Uint32 back, Vec up )
- :Affichable( 0x0 ), m_vieMax( vieMax ), m_front( front ), m_back( back ), m_up( up ), m_vie()
- {
- /// Création de la surface de barre de vie
- cadrer();
- /// Remplissage
- m_vie.h = BARRE_EPAIS;
- m_vie.w = vieMax;
- SDL_FillRect(m_img, 0x0, m_front);
- }
- DisplayHP::~DisplayHP()
- {
- SDL_FreeSurface( m_img );
- }
- void DisplayHP::updateImg( const int &vie )
- {
- m_vie.w = vie;
- SDL_FillRect(m_img, 0x0, m_back);
- SDL_FillRect(m_img, &m_vie, m_front);
- }
- void DisplayHP::IAmHere( const Vec &pos )
- {
- m_pos = m_up + pos;
- }
- void DisplayHP::setMax( int max )
- {
- if (m_vieMax != max)
- {
- m_vieMax = max;
- cadrer();
- }
- }
- void DisplayHP::cadrer()
- {
- if ( m_img ) SDL_FreeSurface( m_img );
- m_img = SDL_CreateRGBSurface( SDL_HWSURFACE, m_vieMax, BARRE_EPAIS, 32, 0, 0, 0, 0 );
- }
|