AULA 09 Processing - Breakout Ball
Tarefa
Código
Declaração de variaveis:
Bola X e BolaY estão setados para receber uma posição inicial da bola a ser criada. Ao longo do codigo esses valores serão atualizados com o auxilo de dx e dy, essas variaveis são responsáveis por receber as mudanças de posição da bolinha na tela.
O bastaoX vai marcar o inicio de um retangulo "solido" que será a base para a colisão com a bolinha e mante-la na tela.
O bastaoX vai marcar o inicio de um retangulo "solido" que será a base para a colisão com a bolinha e mante-la na tela.
Dois booelanos foram acrescentados, estes faram a checagem se os " tijolo" foram atingidos e portanto " destruindo-os.
Observando a imagem ao lado temos um setor que cria a bolinha e atualiza sua posição.
Em seguida temos a delimitação da tela, ou seja do espaço por onde a bolinha pode percorrer no eixo X, limitando entre as laterais da tela. No eixo Y é limitada somente na parte superior visto que usaremos o bastão para limitar se ela passa direto ou não na parte inferior.
Na criação do bastão o eixo Y se mantem o mesmo, alteraremos somente o eixo X.
Em seguida defini os comandos, agora quando as setas forem apertadas o bastão se moverá de 5 em 5 pixels.
Para que o bastão não saísse da tela foi preciso limita-lo também.
Para definir o momento em que a bolinha toca o bastão criamos uma condição que calcula onde o bastão está no seguinte momento e todo o seu comprimento, se a bolinha atinge aquela mesma região de espaço o seu eixo Y é negativado, o que faz com que ela suba e quando tocar o "teto" se torne positivo e desça novamente.
Nessa ultima parte do código testei a colisão, para isso usei os booleanos. O processo é semelhante ao realizado entre a bolinha e o bastão. Quando atingido um especifico espaço a bolinha muda de direção também, entretanto para conseguir "destruir" os tijolos fiz com que o sistema mudasse de comportamento, ou seja, quando a minha variável era verdadeira o tijolo era constantemente redesenhado no mesmo lugar. quando a bolinha atinge aquele espaço, a variável se negativa e para de desenhar os retângulos. Como o exemplo pedia dois ou mais obstáculos, foram criados dois booleanos. Para poucos obstáculos é uma boa solução. Mas num jogo mais complexo o código com certeza teria de ser refeito, pois não é uma solução muito inteligente.
O resultado do programa pode ser observado no gif abaixo:
Comentários
Postar um comentário