| |
24 - Movendo um objeto na tela
Neste tutorial iremos ver como mover um objeto na tela usando as coordenadas x e y.
Todo desenho, imagem ou objeto que pode ser inserido na tela em qualquer linguagem de programação possui a propriedade X e Y.
Muitas vezes essas propriedades podem estar com outros nomes ( no caso do VB é Top e Left ).
No código abaixo iremos ver alguns comandos novos. O mais importante são os comandos de reconhecimento de teclado.
Atravéz desses comandos nós modificaremos o valor de X e de Y e redesenhamos um quadrado na tela na nova posição.
O código é bem fácil de se entender, precione ESC para sair do programa quando for testar ele:
CÓDIGO...
// Movendo um objeto nas coordenadas x e y
#include <allegro.h>
int main()
{
allegro_init();
set_color_depth(16);
install_keyboard();
set_gfx_mode(GFX_AUTODETECT_FULLSCREEN, 640, 480, 0, 0);
// inicio da programação atual
int x = 0;
int y = 0;
// dimensao do quadrado
// variáveis constantes nunca mudam durante a execução do programa
const int tamanho = 100;
// Laço principal
while( !key[KEY_ESC] )
{
if ( key[KEY_UP] )
{
y--;
}
if ( key[KEY_DOWN] )
{
y++;
}
if ( key[KEY_LEFT] )
{
x--;
}
if ( key[KEY_RIGHT] )
{
x++;
}
// esta função limpa a tela ou um objeto que tem buffer no allegro
clear( screen );
// escrevemos um quadrado na tela na posição x e y que podem ter sido modificadas
rectfill( screen, x, y, x+tamanho, y+tamanho, makecol(255, 0, 0) );
// imprimimos as coordenadas x e y na tela para o usuário ver
textprintf_ex( screen, font, 10, 10, makecol(255,0,0), -1, "Variavel X: %d", x);
textprintf_ex( screen, font, 10, 20, makecol(255,0,0), -1, "Variavel Y: %d", y);
// essa função faz o allegro esperar um pouco antes de voltar para o while
rest(10);
}
allegro_exit();
return 0;
}
END_OF_MAIN();
FIM DE CÓDIGO...
Analisando o código acima, percebemos que temos alguns IFs que detectam certas teclas do teclado.
Todas as teclas podem ser detectadas fácilmente pela allegro.
Veja as teclas possíveis
Tabela do teclado
Contribuidor
Adriano Waltrick
10/07/2007
|
|