|
|
|
|
(Publicado na revista XBox 360 ano 2 número 18)
Esta é a segunda parte deste jogo, se você ainda não o fez, execute primeiro os passos da primeira parte!
Na parte 1 deste artigo, vimos como desenhar as sprites (imagens) do bastão e da bola, ainda fixas na tela. Vamos ver agora como controlar os bastões com o gamepad do Xbox 360 e como fazer a bola se movimentar!
Pronto? Então, vamos lá!
1.Para movimentar os bastões, basta alterar a posição em que eles aparecem antes de desenhá-los. Para isso, primeiramente precisamos criar duas variáveis que vão guardar a posição dos bastões. Para isso, basta incluir no início da classe Game1 as linhas:
2. A seguir, precisamos alterar o código de desenho para usar estas variáveis. O método Draw da classe Game1 ficará, então, assim:
3. Para alterar a posição dos bastões usando o gamepad, basta alterar o método Update para modificar o valor destas variáveis a partir do movimento dos thumbsticks direito ("right") e esquerdo ("left") do gamepad. Alternativamente, podemos incluir comandos para alterar a posição dos bastões usando as quatro setas do teclado - um desafio de coordenação motora! O código do método Update passa a ser, então:
No código acima, primeiramente “lemos” o estado do gamepad (que, lembrando, funciona também conectado ao PC); e a seguir atualizamos as variáveis que indicam a posição dos bastões, conforme o movimento do thumbstick da esquerda ou da direita. Como o valor do thumbstick varia de -1 (totalmente para baixo) até +1 (totalmente para cima), multiplicamos por -10 para que os bastões se movimentem até um máximo de 10 pixels por vez, e conforme o esperado (aumentando o Y para descer na tela, e vice-versa).
No uso do teclado é semelhante, com a diferença é que as setas vão movimentar os bastões sempre de 10 em 10 unidades, conforme cada tecla pressionada.
4. Para movimentar a bola, precisaremos criar duas variáveis: uma para armazenar a posição X e Y da bola, e a segunda para guardar a velocidade da bola, um valor a ser somando a cada "passo" do jogo às posições X e Y da bola. O XNA oferece um tipo de dados pronto para isso: Vector2. Assim, devemos criar as variáveis no início da classe Game1:
5. Em seguida, vamos incluir mais uma linha no método Update para alterar a posição da bola conforme a sua velocidade atual:
6. E, por fim, basta alterar o código de desenho (no método Draw) para usar a variável da posição da bola:
Rodando nosso programa agora, veremos que é possível controlar os bastões com os dois thumbsticks do gamepad, e veremos a bola se movimentar em diagonal na tela até sair – e isso escrevendo apenas 20 linhas de código!
Na revista XBox 360 número 19, de junho, veremos o código para rebater a bola nas paredes e nos bastões, praticamente terminando nosso jogo - só faltará a contagem de pontos !
Baixe o código completo desta coluna aqui. E para consultar uma versão um pouco mais "profissional", onde é criada uma classe para gerenciar as sprites, veja este outro código.
E para saber mais sobre o XNA, consulte os slides na página de palestras!
