Projeto IDJ - Towers Of Madness
TowerDefenseLovecraftnianoZombicida
 Todos Classes Arquivos Funções Variáveis Definições de Tipos Enumerações Valores enumerados Definições e Macros Páginas
Métodos Públicos | Atributos Privados | Lista de todos os Membros
Referência da Classe Animation

Classe que modela animações. Mais...

#include <Animation.h>

Diagrama de Hierarquia para Animation:
[legenda]
Diagrama de colaboração para Animation:
[legenda]

Métodos Públicos

 Animation (float x, float y, float rotation, string sprite, int frameCount, float frameTime, bool ends=true)
 Construtor. Mais...
 
void Update (float dt)
 Atualiza estado. Mais...
 
void Render (void)
 Renderiza animação. Mais...
 
bool IsDead (void)
 Informa se o objeto deve ser destruído. Mais...
 
void RequestDelete (void)
 Solicita que o Animation seja destruído. Mais...
 
void NotifyCollision (GameObject &other)
 Notifica colisão. Mais...
 
bool Is (string type)
 informa o tipo de GameObject Mais...
 
Rect GetWorldRenderedRect (void) const
 Obtém Rect informando a posição renderizada da animação. Mais...
 
- Métodos Públicos inherited from GameObject
 GameObject (void)
 Construtor. Mais...
 
void AddComponent (Component *component)
 Adiciona componente a um gameobjet. Mais...
 
ComponentGetComponent (ComponentType type)
 Obtém componente. Mais...
 
void RemoveComponent (ComponentType type)
 Remove componente a um gameobjet. Mais...
 
virtual ~GameObject (void)
 Destrutor. Mais...
 

Atributos Privados

Timer endTimer
 
float timeLimit
 
bool oneTimeOnly
 
Sprite sp
 

Additional Inherited Members

- Atributos Públicos inherited from GameObject
Rect box
 
float rotation
 
- Atributos Protegidos inherited from GameObject
std::vector< Component * > components
 
bool dead
 

Descrição Detalhada

Classe que modela animações.

As animações são um tipo de GameObject que não se colidem e cujo objetivo é basicamente rodar uma animação e depois sumir, a não ser no caso dela ter que ser executada indefinidamente em loop.

Construtores & Destrutores

Animation::Animation ( float  x,
float  y,
float  rotation,
string  sprite,
int  frameCount,
float  frameTime,
bool  ends = true 
)

Construtor.

Parâmetros
xCoordenada horizontal a partir da qual a animação deve ser renderizada.
yCoordenada vertical a partir da qual a animação deve ser renderizada.
rotationÂngulo de rotação da animação.
spriteArquivo com spriteSheet da animação.
frameCountquantidade de sub-imagens na animação.
frameTimeduração para cada frame da animação.
endsVerdadeiro se a animação deve rodar apenas uma vez, falso se a animação deve ser rodar indefinidamente.

Instancia uma animação com os argumentos dados. E inicializa um timer para contar por quanto tempo a animação deve rodar antes de ser destruída, no caso sela não ter que ser rodada enternamente. Caso a animação não deva rodar eternamente o tempo limite para a existência dessa animação é o produto de frameCount por frameTime.

Métodos

Rect Animation::GetWorldRenderedRect ( void  ) const
virtual

Obtém Rect informando a posição renderizada da animação.

Obtém Rect informando a posição renderizada, computando zoom, escala e posição da câmera.

Reimplementação de GameObject.

bool Animation::Is ( string  type)
virtual

informa o tipo de GameObject

Retorna
Verdadeiro se o argumento for "Animation", falso caso contrário.

Usado pelos objetos que colidem com a animação para saber que tipo de GameObject é.

Reimplementação de GameObject.

bool Animation::IsDead ( void  )
virtual

Informa se o objeto deve ser destruído.

Retorna
Verdadeiro se o objeto deve ser destruído, falso caso contrário.

Isso é feito verificando se a animação NÃO deve rodar eternamente, se sim, usamos o timer para verificar se já estourou o tempo para a animação rodar.

Reimplementação de GameObject.

void Animation::NotifyCollision ( GameObject other)
virtual

Notifica colisão.

Como a animação a princípio não interage com os outros gameObjects, o corpo desse método está vazio.

Reimplementação de GameObject.

void Animation::Render ( void  )
virtual

Renderiza animação.

Renderiza a animação na tela.

Reimplementação de GameObject.

void Animation::RequestDelete ( void  )
virtual

Solicita que o Animation seja destruído.

Uma vez que esse método é chamado, futuras chamadas ao IsDead devem retornar verdadeiro.

Reimplementação de GameObject.

void Animation::Update ( float  dt)
virtual

Atualiza estado.

Atualiza o estado da animação e a contagem de tempo do timer.

Reimplementação de GameObject.

Atributos

Timer Animation::endTimer
private

Temporizador cronomenta o tempo de existência da animação. Usado para verificar se a animação deve ser destruída.

bool Animation::oneTimeOnly
private

Verdadeiro se essa animação deve ser rodada apenas uma vez, falso se deve ser rodada em loop indefinidamente.

Sprite Animation::sp
private

Sprite sheet da animação.

float Animation::timeLimit
private

Armazena o tempo que animação leva para rodar complemante uma vez. No caso em que a animação não deve rodar em loop esse é o tempo de a animação deve durar.


A documentação para esta classe foi gerada a partir dos seguintes arquivos: