terça-feira, 1 de maio de 2012

HP, Colisão, Classes

HP

Essa semana foi implementado o HP, parte visual, no inimigo e no jogador principal. A perda do HP ocorre nas seguintes situações:

- O jogador colide com o inimigo e perde 25.
- O jogador colide com o inimigo, mas está atacando, o inimigo perde 25.

Essa perda é somente visual, ao inicializar o HP, é desenhado na tela -25 na posição atual do objeto e esse valor vai mudando sua posição em Y a cada update em um determinado tempo; ao fim desse tempo o -25 não é mais desenhado na tela.

Colisão

O código da colisão foi melhorado, ao ocorrer a colisão, ele fará a verificação de quem está perdendo HP, o objeto que está perdendo o HP recuará 100 pixels, não importando a posição e ordem dos objetos, por exemplo, se o jogador está sofrendo o ataque ele fará o seguinte calculo: 

             if (Colisao_Personagem_Inimigo_01 && !Personagem_Esta_Atacando)
            {
                Pos_Personagem = Jogador_Principal.Position;

                if (Personagem_esta_a_esq)
                {
                    Pos_Personagem.X = Pos_Personagem.X - 100;
                }
                else
                {
                    Pos_Personagem.X = Pos_Personagem.X + 100;
                }
                Jogador_Principal.Position = Pos_Personagem;
             }

Organização das classes

Estamos enfrentando alguns problemas para separar todas as classes, primeiramente o código foi feito todo no Game1.cs, assim era possível testar se o código estava funcionando corretamente. Ao separar as classes encontramos um problema, ele não está atualizando as posições dos "Vector2", por exemplo, na classe IA.cs, o inimigo começa na posição (660, 175) e vai diminuindo em 1, em X, a cada Update, ao chegar na posição (200,175) o inimigo deve aumentar em 1, em X, na classe Game1.cs o código funciona perfeitamente, porém ao fazer a adaptação na classe IA.cs, o inimigo vai diminuindo 1, em X, "eternamente", esse foi o problema principal encontrado e estamos trabalhando para remover esse Bug.


Nenhum comentário:

Postar um comentário