Buscar

Movimentação de personagens para jogo (sem KeyPress ou KeyDown)

Código

E aí, galera, esta é minha primeira dica aqui no site. Andei vendo outras dicas em relação a como mover um personagem em um joguinho simples utilizando os eventos onKeyPress ou onKeyDown e decidi postar essa dica aqui. Nela é domnstrada uma forma simples e mais eficiente de mover os seus personagens, utilizando um Timer com interval=1:
------------------------------------------------
...
  public
    { Public declarations }
    X, Y:integer;//No onCreate definir a posição inicial do personagem
...

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if GetKeyState(VK_UP)    <0 then  //Seta para cima
     Dec(Y);
  if GetKeyState(VK_DOWN)  <0 then  //Seta para baixo
     Inc(Y);
  if GetKeyState(VK_LEFT)  <0 then //Seta esquerda
     Dec(X);
  if GetKeyState(VK_RIGHT) <0 then //Seta direita
     Inc(X);

  Jogador1.Left := X; //Posição horizontal
  Jogador1.Top  := Y; //Posição vertical
end;
--------------------------------------------------
Em breve estarei postando um tutorial sobre como criar um jogo simples.
Espero que gostem e até a próxima.
 

Publicidade

Vote na dica




Quantidade de votos: 2 votos
Aceitação: 20%


Detalhes da dica

Categoria: Forms
Adicionada dia: 21/01/10
Por: Joel
Visualizada: 3778 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009