Então surgiu a idéia de ir desenvolvendo esse jogo e ir explicando a programação dele aqui. Nada melhor para aprender do que a prática.
Movimento básico do jogo: o direcional controla o tanque nas 8 direções. A stylus controla o canhão nos 360 graus.
Primeiro passo: como fazer o jogo saber qual o ângulo em que a stylus está apontando?
A PALib trata ângulos com valores entre 0 e 511 ao invés de 0 a 359. 0=0 graus, 128=90 graus, 256=180 graus e 384=270 graus. Tanto para rotacionar sprites quanto para detectar um ângulo, a informação é sempre em 9 bits (valores de 0 a 511).
Vamos fazer um programa para testar se isso é possível, medindo o ângulo do toque da stylus em relação ao centro da tela.
// Includes
#include <PA9.h> // Include for PA_Lib
// Function: main()
int main(int argc, char ** argv)
{
s16 angulo=0;
PA_Init(); // Initializes PA_Lib
PA_InitVBL(); // Initializes a standard VBL
PA_InitText(1,0);
PA_SetTextCol(1,31,31,31);
// Infinite loop to keep the program running
while (1)
{
if (Stylus.Held) {
angulo=PA_GetAngle(127,95,Stylus.X,Stylus.Y);
PA_OutputText(1,0,4,"Angulo a partir do centro: %d ",angulo);
}
PA_WaitForVBL();
}
return 0;
} // End of main()
O que o programa faz:
- Inicializa a variável angulo em 0
- Inicializa a PALib e define o texto na tela 1 na cor branca
- começa o loop infinito
- verifica se a stylus está apertada
- calcula o angulo entre o centro da tela (coordenada 127,95) e a posição da stylus
- escreve esse angulo
- termina o loop, voltando para o início dele (é infinito).
4 comentários:
Ok. Vou só arrumar um emulador de atari e ver como esse combat era.
Era aquilo que tu me mandaste por e-mail só que ele atirava para o lado que o tanque estava andando.
Nossa, mto prático usar :)
Apesar de que ainda não intendo alguns parâmetros hehe mais já estou pegando o jeito.
Se quiserem ajuda nesse jogo podem contar comigo, eu intendo um pouco de programação de jogos (bem básico, mexi um pouco com Multimedia Fusion e Game Maker) e agora estou trabalhando com programação (ASP).
Abraços e continue com as matérias, porque elas estão ótimas.
Rodolpho, dá uma olhada nos links, ali tem um link para o meu outro blog, onde eu fui colocando a minha experiência em aprender a PALib. Ali tem os links para o tutorial da PALib e também para a documentação da PALib. Na documentação tu vais ver quais são os diversos parâmetros.
Postar um comentário