#include <inimigo.hpp>
|
| | Inimigo (const string &inimigoFile) |
| | Construtor da classe Inimigo. Mais...
|
| |
| void | mover () |
| | Move o inimigo em direção ao centro do mapa. Mais...
|
| |
| void | atualizarProjeteis (float deltaTime, RenderWindow &window) |
| | Atualiza a posição dos projéteis do inimigo. Mais...
|
| |
| virtual bool | verificarColisao (const Sprite &sprite) |
| | Verifica se houve colisão entre o inimigo e um objeto Sprite. Mais...
|
| |
| void | atirar (const Vector2f &direcao) |
| | Realiza o disparo de um projétil em direção ao herói. Mais...
|
| |
| void | atirarCOOP (const Vector2f &direcaoHeroi, const Vector2f &direcaoTank, const float distanciaHeroi, const float distanciaTank) |
| | Realiza o disparo de projéteis em direção ao herói ou ao tanque aliado no modo cooperativo. Mais...
|
| |
| void | setPosicao (const Vector2f &posicao) |
| | Define a posição do inimigo. Mais...
|
| |
| Vector2f | getPosicao () const |
| | Retorna a posição do inimigo. Mais...
|
| |
| Sprite | getSprite () const |
| | Retorna o Sprite do inimigo. Mais...
|
| |
| bool | isTextureLoaded () const |
| | Verifica se a textura do inimigo foi carregada com sucesso. Mais...
|
| |
| vector< Projetil > & | getProjeteis () |
| | Retorna a lista de projéteis do inimigo. Mais...
|
| |
| void | renderizar (RenderWindow &window) |
| | Renderiza o inimigo na janela de renderização. Mais...
|
| |
◆ Inimigo()
| Inimigo::Inimigo |
( |
const string & |
inimigoFile | ) |
|
Construtor da classe Inimigo.
Este construtor inicializa o inimigo com uma certa imagem.
- Parâmetros
-
| inimigoFile | Arquivo de imagem do inimigo |
◆ atirar()
| void Inimigo::atirar |
( |
const Vector2f & |
direcao | ) |
|
Realiza o disparo de um projétil em direção ao herói.
Esta função é responsável por fazer com que o inimigo dispare um projétil na direção do herói. O projétil é lançado na direção fornecida, após a normalização do vetor de direção.
- Parâmetros
-
| direcao | Vetor direção do inimigo em relação ao herói. |
- A função verifica se o tempo decorrido desde o último disparo é maior que o intervalo de disparo (
intervaloDisparo).
- O vetor direção (
direcao) é normalizado, ou seja, convertido em um vetor de comprimento 1.
- Um novo projétil é criado na posição atual do inimigo (
backgroundSprite_inimigo.getPosition()) e é direcionado na direção normalizada.
- O projétil é adicionado à lista de projéteis (
projeteis) do inimigo.
- O relógio de disparo (
relogio) é reiniciado após o disparo para controlar o intervalo entre disparos.
◆ atirarCOOP()
| void Inimigo::atirarCOOP |
( |
const Vector2f & |
direcaoHeroi, |
|
|
const Vector2f & |
direcaoTank, |
|
|
const float |
distanciaHeroi, |
|
|
const float |
distanciaTank |
|
) |
| |
Realiza o disparo de projéteis em direção ao herói ou ao tanque aliado no modo cooperativo.
Esta função é responsável por decidir para qual alvo (herói ou tanque aliado) o inimigo deve atirar no modo COOP, com base na distância entre o inimigo e os dois alvos. O inimigo dispara o projétil na direção do alvo mais próximo.
- Parâmetros
-
| direcaoHeroi | Vetor direção do inimigo em relação ao herói. |
| direcaoTank | Vetor direção do inimigo em relação ao tanque aliado. |
| distanciaHeroi | A distância entre o inimigo e o herói. |
| distanciaTank | A distância entre o inimigo e o tanque aliado. |
- A função verifica se o tempo decorrido desde o último disparo é maior que o intervalo de disparo.
- Se a distância até o tanque aliado (
distanciaTank) for menor que a distância até o herói (distanciaHeroi), o inimigo dispara um projétil na direção do tanque aliado.
- Se a distância até o herói for menor ou igual à distância até o tanque aliado, o inimigo dispara um projétil na direção do herói.
- A direção de disparo é normalizada (vetor de comprimento 1) antes de criar o projétil.
- O projétil é criado na posição atual do inimigo e é adicionado à lista de projéteis (
projeteis).
- O relógio de disparo (
relogio) é reiniciado após o disparo para controlar o intervalo entre disparos.
◆ atualizarProjeteis()
| void Inimigo::atualizarProjeteis |
( |
float |
deltaTime, |
|
|
RenderWindow & |
window |
|
) |
| |
Atualiza a posição dos projéteis do inimigo.
Este método é responsável por atualizar a posição de todos os projéteis do inimigo. Para cada projétil, a função moverInimigo é chamada para atualizar a posição do projétil. Se o projétil sair da janela, ele é removido.
- Parâmetros
-
| deltaTime | O tempo decorrido desde a última atualização. |
| window | Referência para a janela de renderização. |
- Para cada projétil na lista de projéteis (
projeteis), a função moverInimigo é chamada para atualizar a posição do projétil.
- Se o projétil sair da janela de renderização, ele é removido da lista de projéteis.
◆ getPosicao()
| Vector2f Inimigo::getPosicao |
( |
| ) |
const |
Retorna a posição do inimigo.
- Retorna
- Vector2f Vetor posição do inimigo.
◆ getProjeteis()
| vector< Projetil > & Inimigo::getProjeteis |
( |
| ) |
|
Retorna a lista de projéteis do inimigo.
- Retorna
- vector<Projetil>& Referência para a lista de projéteis do inimigo.
◆ getSprite()
| Sprite Inimigo::getSprite |
( |
| ) |
const |
Retorna o Sprite do inimigo.
- Retorna
- Sprite Sprite do inimigo.
◆ isTextureLoaded()
| bool Inimigo::isTextureLoaded |
( |
| ) |
const |
Verifica se a textura do inimigo foi carregada com sucesso.
- Retorna
- true Se a textura do inimigo foi carregada com sucesso.
-
false Se a textura do inimigo não foi carregada com sucesso.
◆ mover()
Move o inimigo em direção ao centro do mapa.
Este método move o inimigo com uma certa velocidade em direção ao centro do mapa.
◆ renderizar()
| void Inimigo::renderizar |
( |
RenderWindow & |
window | ) |
|
Renderiza o inimigo na janela de renderização.
Este método é responsável por renderizar o inimigo. Para cada projétil na lista de projéteis, a função renderizar é chamada para renderizar o projétil.
- Parâmetros
-
| window | Referência para a janela de renderização. |
- Se a textura do inimigo foi carregada com sucesso, o inimigo é renderizado na janela de renderização.
- Para cada projétil na lista de projéteis, a função
renderizar é chamada para renderizar o projétil.
- Se ocorrer um erro ao renderizar o inimigo, uma mensagem de erro é exibida.
◆ setPosicao()
| void Inimigo::setPosicao |
( |
const Vector2f & |
posicao | ) |
|
Define a posição do inimigo.
Este método define a posição do inimigo na tela.
- Parâmetros
-
| posicao | Vetor posição a ser definido. |
◆ verificarColisao()
| bool Inimigo::verificarColisao |
( |
const Sprite & |
sprite | ) |
|
|
virtual |
Verifica se houve colisão entre o inimigo e um objeto Sprite.
Esta função verifica se houve colisão entre o inimigo e um objeto Sprite. A função getGlobalBounds é utilizada para obter o retângulo delimitador do inimigo e do objeto Sprite. Se os retângulos se sobrepõem, a função retorna true.
- Parâmetros
-
| sprite | Objeto Sprite a ser verificado. |
- Retorna
- true Se houve colisão entre o inimigo e o objeto Sprite.
-
false Se não houve colisão entre o inimigo e o objeto Sprite.
◆ intervaloDisparo
| Time Inimigo::intervaloDisparo = seconds(3) |
|
protected |
◆ velocidade
| float Inimigo::velocidade |
|
protected |
A documentação para esta classe foi gerada a partir dos seguintes ficheiros: