Projeto IDJ - Towers Of Madness
TowerDefenseLovecraftnianoZombicida
|
Classe que modela animações. Mais...
#include <Animation.h>
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... | |
![]() | |
GameObject (void) | |
Construtor. Mais... | |
void | AddComponent (Component *component) |
Adiciona componente a um gameobjet. Mais... | |
Component & | GetComponent (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 | |
![]() | |
Rect | box |
float | rotation |
![]() | |
std::vector< Component * > | components |
bool | dead |
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.
Animation::Animation | ( | float | x, |
float | y, | ||
float | rotation, | ||
string | sprite, | ||
int | frameCount, | ||
float | frameTime, | ||
bool | ends = true |
||
) |
Construtor.
x | Coordenada horizontal a partir da qual a animação deve ser renderizada. |
y | Coordenada vertical a partir da qual a animação deve ser renderizada. |
rotation | Ângulo de rotação da animação. |
sprite | Arquivo com spriteSheet da animação. |
frameCount | quantidade de sub-imagens na animação. |
frameTime | duração para cada frame da animação. |
ends | Verdadeiro 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.
|
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.
|
virtual |
informa o tipo de GameObject
Usado pelos objetos que colidem com a animação para saber que tipo de GameObject é.
Reimplementação de GameObject.
|
virtual |
Informa se o objeto deve ser destruído.
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.
|
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.
|
virtual |
|
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.
|
virtual |
Atualiza estado.
Atualiza o estado da animação e a contagem de tempo do timer.
Reimplementação de GameObject.
|
private |
Temporizador cronomenta o tempo de existência da animação. Usado para verificar se a animação deve ser destruída.
|
private |
Verdadeiro se essa animação deve ser rodada apenas uma vez, falso se deve ser rodada em loop indefinidamente.
|
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.