#include <sdl.h>
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 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. | |
| Animation (const Animation &anim) | |
| Okopírování animace. | |
| const Animation & | operator= (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< Surface > | frames_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. | |
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.
| string | Při chybě v načítání xml vypouští výjimky s chybovým hlášením. |
typedef std::vector<Surface> Animation::frames_t [private] |
| 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.

| Animation::Animation | ( | const Animation & | anim | ) |
Okopírování animace.
| 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.
| 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ů. |


| 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.

| 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.

| bool Animation::update | ( | ) |
Update stavu animace (typicky nastavení dalšího framu).
Zaručí správnou rychlost animace.
| Uint16 Animation::run_num | ( | ) | const |
Počet opakování animace.

| Uint16 Animation::periods_to_end | ( | ) | const |
Počet period do konce běhu animace.

| void Animation::draw | ( | SDL_Surface * | window, | |
| int | x, | |||
| int | y | |||
| ) | const |
Vykreslení aktuálního framu.
| window | surface okna pro vykreslení | |
| x | cílová souřadnice pro vykreslení | |
| y | cílová souřadnice pro vykreslení |

| 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.
| alpha | míra průhlednosti |

| 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.
| 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. |


frames_t Animation::frames_ [private] |
Seznam framů a jejich stínů.
frames_t Animation::shadow_frames_ [private] |
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.
1.5.6