3.2.5. ANIMAÇÃO DE IMAGENS

 

Uma sprite é uma coleção de imagens 2D, chamadas de frames, exibidas em seqüência com um intervalo entre cada uma. Sprites são usadas por diversos objetos de jogos para, por exemplo, mover pessoas e espaçonaves, mísseis, etc.

A classe CL_Sprite permite criar objetos sprite e executar tais funções de forma fácil e flexível. Essa classe permite também a utilização de recursos avançados, como rotacionar as imagens, torná-las semitransparentes, alterar a velocidade de frames individuais, etc.

O exemplo a seguir demonstra a criação de uma animação através das classes CL_Sprite e CL_SpriteDescription.

 

1   CL_SpriteDescription desc;

2   desc.add_frame(new CL_TargaProvider("img1.tga"));

3   desc.add_frame(new CL_TargaProvider("img2.tga"));

4   desc.add_frame(new CL_TargaProvider("img3.tga"));

 

5              CL_Sprite *sp = new CL_Sprite(desc);

6              sp->update();

7              sp->rotate(0.5f);

8              sp->draw(10, 10);

 

O exemplo anterior cria um objeto CL_SpriteDescription que possibilitará o armazenamento das imagens desejadas (linha 1). As linhas 2 a 4 adicionam as imagens desejadas ao objeto. Finalmente um objeto CL_Sprite é criado na linha 5 e seu endereço armazenado no ponteiro sp. As linhas 6 a 8 atualizam o buffer, rotacionam a sprite e a exibem na tela respectivamente.