*   >> Leitura Educação Artigos >> science >> programação

Fazendo um clone de Space Invaders com PushButton - Explosions

jogar o demo

BAIXAR O CÓDIGO FONTE

Voltar ao Índice TUTORIAL

Destruir um inimigo em resposta a uma colisão com uma bala jogadores pode soar bastante simples, mas há um pouco de trabalho que tem de ser feito em segundo plano para gerenciar a saúde do inimigo, diminuir que a saúde em resposta a uma colisão com uma bala, e, finalmente, para exibir uma explosão quando o inimigo morreu.

A explosão, assim como qualquer outro duende animado, é definido nos arquivos XML.

Tal como as balas que existe como um modelo, mas não é adicionado a nenhum grupo, de modo que não é carregado, quando o nível está carregado. Por causa da explosão não participará na detecção de colisão ou ser movido ao redor da tela, há pouca necessidade de simulá-lo com o motor de física Box2D. Assim, o componente espacial será uma SimpleSpatialComponent, ao contrário do Box2DSpatialComponent utilizado para a inimigos, jogador e balas. Para além de que os mesmos componentes renderização e animação são adicionados à entidade explosão.


Código

Além disso é adicionado um novo componente chamado DestroyAfterCountdownComponent. A finalidade deste componente é destruir uma entidade após um certo período de tempo. Neste caso, queremos destruir a entidade explosão uma vez que a animação foi concluída.

Código

Botão vem com um componente útil chamado HealthComponent que pode ser usado para manter a saúde de uma entidade, causa danificar a uma entidade através da diminuição da saúde, e destruir a entidade uma vez toda a sua saúde está desaparecido.

Este componente é adicionado ao modelo inimigo, e nós definir a saúde inicial do inimigo para 1 (o padrão é 100).

Código

Quando a saúde gerido pelo HealthComponent é reduzido para zero a entidade é destruído por padrão, mas também envia um evento para permitir que outros componentes saber que a entidade tenha morrido. O DeathHandlerComponent é usado para assistir a este evento e adicionar a uma nova instância da entidade explosão.


Código

O DamageOnContactConponent, que foi introduzido no último tutorial, foi modificada para encontrar o componente de saúde da entidade que está colidiu com e chamar sua função de danos, o que reduzirá a saúde da outra entidade e, eventualmente destruí-la. O CollisionEvent que é passado para a função de ouvinte de evento de colisão possui referências a duas Box2DSpatialComponent chamado collidee e colisor. Você não pode a

Page   <<       [1] [2] [3] >>
Copyright © 2008 - 2016 Leitura Educação Artigos,https://artigos.nmjjxx.com All rights reserved.