Conheça a iniciativa da Biblioteca dos Desenvolvedores  
Índice da Biblioteca  
Área dos Usuários  
Fórum de Discussão  
Forúm
 
 

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

Download do exemplo 1 - Clique Aqui

 


Contribuidor
Adriano Waltrick
10/07/2007


 

« Anterior

 

Próximo »

 
 

01/06/2007 (C) Copyright. Todos os Direitos Reservados. Leia a política de privacidade do portal.
É proibida a cópia de conteúdo deste site de acordo com a Lei Brasileira de Direitos Autorais.