Dokumentace třídy Animation

Animace jednoho jevu, jako posloupnost obrázků. ...

#include <sdl.h>

Diagram tříd pro Animation:

Collaboration graph
[vysvětlivky]

Seznam všech členů.

Veřejné metody

 Animation ()
 Bez inicializace.
 Animation (TiXmlElement *el, Uint16 width, Uint16 height, const Surface &sur_src, const Surface &sur_shadow_src=0)
 Inicializace z XML a zdrojového surface.
const Animationinitialize (TiXmlElement *el, Uint16 width, Uint16 height, const Surface &sur_src, const Surface &sur_shadow_src=0)
 Inicializace z XML a zdrojového surface.
 Animation (const Animation &anim)
 Okopírování animace.
const Animationoperator= (const Animation &anim)
 Okopírování animace.
void reset ()
 Nastavení prvního obrázku jako aktuální.
void random ()
 Nastavení náhodného obrázku jako aktuální.
bool update ()
 Update stavu animace (typicky nastavení dalšího framu).
Uint16 run_num () const
 Počet opakování animace.
Uint16 periods_to_end () const
 Počet period do konce běhu animace.
void draw (SDL_Surface *window, int x, int y) const
 Vykreslení aktuálního framu.
Uint16 height () const
 Výška animace.
Uint16 width () const
 Šířka animace.
void set_transparency (Uint8 alpha)
 Nastaví průhlednost celé animace.

Privátní typy

typedef std::vector< Surfaceframes_t

Privátní metody

void loadItem_ (TiXmlElement *el, Uint16 width, Uint16 height, const Surface &sur_src, const Surface &sur_shadow_src)
 Uloží konkrétní surface zadané v elementu.

Privátní atributy

frames_t frames_
 Seznam framů a jejich stínů.
frames_t shadow_frames_
frames_t::size_type cur_frame_
 Index dalšího framu.
bool draw_shadow_
 Vykreslovat stíny.
Uint16 frame_period_
 Délka zobrazení jednoho framu.
Uint16 last_access_
 Doba od posledního posunu framu.
Uint16 run_counter_
Uint8 transparency_
 Počítadlo běhů animace.


Detailní popis

Animace jednoho jevu, jako posloupnost obrázků.

Inicializace XML elementem a zdrojovým surface, nebo čistým okopírováním jiné animace. Interface obsahuje ještě metodu na resetování stavu animace, update stavu animace a vykreslení aktuálního obrázku do okna.

Výjimky:
string Při chybě v načítání xml vypouští výjimky s chybovým hlášením.
Viz také:
Surface

Dokumentace k členským typům

typedef std::vector<Surface> Animation::frames_t [private]


Dokumentace konstruktoru a destruktoru

Animation::Animation (  ) 

Bez inicializace.

Animation::Animation ( TiXmlElement *  el,
Uint16  width,
Uint16  height,
const Surface sur_src,
const Surface sur_shadow_src = 0 
)

Inicializace z XML a zdrojového surface.

Viz také:
Animation::initialize(), Animation::loadItem_()

Tato funkce volá...

Animation::Animation ( const Animation anim  ) 

Okopírování animace.


Dokumentace k metodám

const Animation & Animation::initialize ( TiXmlElement *  el,
Uint16  width,
Uint16  height,
const Surface sur_src,
const Surface sur_shadow_src = 0 
)

Inicializace z XML a zdrojového surface.

Nastavuje inicializační hodnoty, parsuje XML element a vytváří z něj animaci.

Parametry:
el XML element obsahující definici animace. Minimálně musí obsahovat atributy x,y. Typicky obsahuje podelement animation(rate="") s podelementy animation_item(x,y)
width šířka každého framu animace
height výška každého framu animace
sur_src zdrojový obrázek, ze kterého se vyřeže animace
sur_shadow_src zdrojový obrýzek, ze kterého se vyřežou stíny, defaultně bez stínů.
Viz také:
Animation::loadItem_()

Tato funkce volá...

Tuto funkci volají...

const Animation & Animation::operator= ( const Animation anim  ) 

Okopírování animace.

void Animation::reset (  ) 

Nastavení prvního obrázku jako aktuální.

Nastaví počítadlo na počáteční frame, vynuluje dobu od posledního posunu framu.

Tuto funkci volají...

void Animation::random (  ) 

Nastavení náhodného obrázku jako aktuální.

Nastaví počítadlo na náhodný frame, vynuluje dobu od posledního posunu framu.

Tuto funkci volají...

bool Animation::update (  ) 

Update stavu animace (typicky nastavení dalšího framu).

Zaručí správnou rychlost animace.

Návratová hodnota:
TRUE, pokud se vracíme na začátek animace, jinak FALSE.

Uint16 Animation::run_num (  )  const

Počet opakování animace.

Návratová hodnota:
Pořadí běhu po následujícím update.
Viz také:
update()

Tuto funkci volají...

Uint16 Animation::periods_to_end (  )  const

Počet period do konce běhu animace.

Návratová hodnota:
Počet period do konce aktuálního běhu animace.

Tuto funkci volají...

void Animation::draw ( SDL_Surface *  window,
int  x,
int  y 
) const

Vykreslení aktuálního framu.

Parametry:
window surface okna pro vykreslení
x cílová souřadnice pro vykreslení
y cílová souřadnice pro vykreslení

Tato funkce volá...

Uint16 Animation::height (  )  const

Výška animace.

Uint16 Animation::width (  )  const

Šířka animace.

void Animation::set_transparency ( Uint8  alpha  ) 

Nastaví průhlednost celé animace.

Nastaví každému framu animace průhlednost, pokud se má vykreslovat stín, nastaví mu poloviční průhlednost.

Parametry:
alpha míra průhlednosti

Tuto funkci volají...

void Animation::loadItem_ ( TiXmlElement *  el,
Uint16  width,
Uint16  height,
const Surface sur_src,
const Surface sur_shadow_src 
) [private]

Uloží konkrétní surface zadané v elementu.

Parsuje XML element a vytváří z něj konkrétní jeden frame.

Parametry:
el XML element <animation_item x,y,(shadow_x, shadow_y)> obsahující definici jednoho framu.
width šířka framu animace
height výška framu animace
sur_src zdrojový obrázek, ze kterého se vyřízne frame
sur_shadow_src zdrojový obrýzek, ze kterého se vyřízne stín.
Viz také:
readAttr()

Tato funkce volá...

Tuto funkci volají...


Dokumentace k datovým členům

Seznam framů a jejich stínů.

frames_t::size_type Animation::cur_frame_ [private]

Index dalšího framu.

bool Animation::draw_shadow_ [private]

Vykreslovat stíny.

Uint16 Animation::frame_period_ [private]

Délka zobrazení jednoho framu.

Uint16 Animation::last_access_ [private]

Doba od posledního posunu framu.

Uint16 Animation::run_counter_ [private]

Uint8 Animation::transparency_ [private]

Počítadlo běhů animace.

Míra průhlednosti.


Dokumentace pro tuto třídu byla generována z následujících souborů:

Generováno Mon May 24 21:57:16 2010 pro projekt Bombic 2 programem  doxygen 1.5.6