|
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... | |
Métodos Públicos inherited from GameObject | |
| 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 | |
Atributos Públicos inherited from GameObject | |
| Rect | box |
| float | rotation |
Atributos Protegidos inherited from GameObject | |
| 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.
1.8.8