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

Fazendo um clone de Space Invaders com PushButton - Bullets

jogar o demo

BAIXAR O CÓDIGO FONTE

Voltar ao Índice TUTORIAL

Até agora temos vindo a utilizar as definições de entidade XML e nível como uma forma ou definindo e criando entidades, ou seja, cada entidade nos arquivos XML é criado quando o nível é carregado. Isso não faz sentido para as balas, porém, como elas serão criadas em resposta a entrada do teclado. Botão permite isso, dando-nos a capacidade de instanciar uma entidade definida nos arquivos XML por nome em tempo de execução.

Primeiro, precisamos definir a entidade bala.

Isto será feito como um modelo. O código para o modelo de bala inclui o mesmo espacial, renderização e componentes de animação como o inimigo nós definida no primeiro tutorial.

Código

Um novo componente chamado DestroyIfOffScreenComponent foi criado. Sua finalidade é remover uma entidade do jogo quando se mudou para fora da tela. Esta é uma maneira conveniente para limpar entidades que não são mais úteis.


Código

Além disso, um novo componente chamado DamageOnContactConponent permite que uma entidade, como uma bala, para infligir danos a uma outra entidade que colide com. A lógica real para gerenciar a saúde de uma entidade não será adicionado neste tutorial, de modo que o componente DamageOnContactConponent irá simplesmente remover a entidade à qual está ligado quando ocorre uma colisão.

Código

Se você olhar de perto as propriedades collisionType e collidesWithTypes do componente Box2DSpatialComponent não foram definidas no modelo de Bala.

Isto é porque nós, eventualmente, quer ter dois tipos de balas - os demitidos pelo jogador e os demitidos pelo inimigo. Para acomodar isso, definir um novo modelo chamado PlayerBullet, com base no modelo de bala. Aqui definimos a PlayerBullet como uma entidade que colide com os inimigos.

Código

O Inimigo modelo é modificado para que ele irá colidir com as entidades baseado fora o modelo PlayerBullet.


Código

A última mudança é a PlayerControllerComponent, que ganha uma nova propriedade chamada bulletEntityName, que define o nome do modelo a partir do qual os jogadores para criar balas.

Código

< p> O código para o componente DamageOnContactConponent é bastante simples neste momento porque não temos implementado a lógica para realmente provocado qualquer dano.

Por enquanto ele atende a uma colisão e remove a entidade a que pertence a partir do jogo

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