Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.

Você está aqui: HTML5 ::: HTML5 + JavaScript ::: Animação, Animações, Técnicas de Animação

Como movimentar uma imagem na superfície do elemento Canvas do HTML5 usando as teclas de direção

Quantidade de visualizações: 1241 vezes
Nesta dica mostrarei uma das técnicas básicas para a animação em HTML5 + JavaScript. Trata-se de detectar as teclas de direção do teclado e movimentar uma imagem na tela, ou melhor, na superfície de um elemento Canvas. Nem preciso reforçar que esta técnica é essencial para o desenvolvimento de jogos em JavaScript.

Antes de vermos o código é importante lembrar que as imagens do foguete e das nuvens foram colocadas no mesmo diretório da página HTML. Como essas imagens podem ter direitos reservados, eu não as incluí para download. Fica por sua conta encontrá-las na internet ou desenhar as suas próprias.

Então, sem mais enrolação, veja o código JavaScript + HTML5 completo, sem plugs-ins nem bibliotecas, apenas "Plain Old JavaScript":

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  
<title>Introdução a HTML5 Games</title>

<style type="text/css">
  body {background-color: white};
</style>
   
</head>
<body onLoad="desenharFoguete()">
  
<Canvas id="canvas" style="background-color: white" width="600" height="600">
  </Canvas>

<script type="text/javascript">
  "use strict";
  
  // obtemos uma referência ao elemento Canvas  
  var canvas = document.getElementById("canvas");
  // obtemos o contexto de desenho
  var contexto = canvas.getContext("2d");

  // vamos carregar a imagem do foguete
  var foguete = new Image();
  foguete.src = "foguete.gif"; // GIF transparente

  // vamos carregar a imagem de fundo
  var fundo = new Image();
  fundo.src = "nuvens.jpg";
 
  // posições iniciais do foguete
  var largura_imagem = 80;
  var altura_imagem = 125;
  var posX = (canvas.width / 2) - (largura_imagem / 2);
  var posY = (canvas.height / 2) - (altura_imagem / 2);

  function desenharFoguete(){
    // limpamos toda a área de desenho
    contexto.clearRect(0, 0, canvas.width, canvas.height);
    // vamos desenhar o fundo
    contexto.drawImage(fundo, 0, 0);
    // vamos desenhar o foguete no centro do Canvas
    contexto.drawImage(foguete, posX, posY);  
  }
  
  document.onkeydown = function(e){
    // obtém a tecla pressionada
    var key = window.event?e.keyCode:e.which;
    if(key == 37){ // é a seta para a esquerda?
      posX = posX - 5; // move 5 pixels para a esquerda	
    }
    else if(key == 38){ // é a seta para cima?
      posY = posY - 5; // move 5 pixels para cima	
    }
    else if(key == 39){ // é a seta para a direita?
      posX = posX + 5; // move 5 pixels para a direita	
    }
    else if(key == 40){ // é a seta para baixo?
      posY = posY + 5; // move 5 pixels para baixo	
    }
	
    desenharFoguete(); // redesenha o foguete e o background
  }
</script>  
   
</body>
</html>


Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de HTML5

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 19,90


© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 205 usuários muito felizes estudando em nosso site.