Bubble

HTML5/JavaScript para Jogos (Parte 13)

Se você perdeu a parte anterior, acesse-a aqui: Parte 12

Para ver a série completa, use o menu Tecnologia, acima, ou clique aqui: HTML5/JavaScript para Jogos

Nesta parte, vamos apenas apagar parte do código que não será mais usada e parar de desenhar a spritesheet.

Assim, vamos começar com a remoção do desenho da spritesheet. Da função secondLoop, remova ou comente o seguinte comando

ctx2.drawImage(spritesheet2, canvas2.width-spritesheet2.width, canvas2.height-spritesheet2.height);

Além disso, vamos remover as seguintes funções e objetos no código JavaScript:

  • mainLoop
  • SpriteImage
  • Sprite
  • initSprites

e não se esqueça de remover, também, suas chamadas em window.onload.

Por fim, no código HTML, vamos remover o primeiro canvas. Para isso, remova as seguintes linhas do HTML

<canvas id="idCanvas" width="640" height="480">
  Seu navegador não tem suporte ao 'canvas'.
</canvas>
<p><i>Canvas</i> de teste</p>

Dessa forma, ficamos apenas com um canvas, contendo o código que criamos nas partes anteriores. Para ver o resultado, acesse

https://jsbin.com/kubedi

e veja os códigos HTML e JavaScript completos nos Apêndices.

Agora, eu gostaria de saber qual parte do jogo vocês gostariam que fizéssemos. Vote na enquete, a seguir, para que eu possa estudar e, depois, escrever sobre a parte que mais lhe interessa.

Apêndice A – Código JavaScript Completo

DIR_S= 0;
DIR_SW = 1;
DIR_W= 2;
DIR_NW = 3;
DIR_N = 4;
DIR_NE  = 5;
DIR_E = 6;
DIR_SE = 7;

var dir = DIR_S;

var moving = false;
var x = 0;
var y = 0;

var x2 = 0;
var dx2 = 0;
var y2 = 0;
var dy2 = 0;
var sx;
var sy;
var spritesheet2;
var boyAnimUp = [];
var boyAnimDown = [];
var boyAnimLeft = [];
var boyAnimRight = [];
var spriteChangeCounter = 0;
var currentSprite = 0;

function secondLoop(timestamp) {
  ctx2.clearRect(0, 0, canvas2.width, canvas2.height);
  x2 = x2 + dx2;
  y2 = y2 + dy2;

  if (spriteChangeCounter == 10)
  {
    spriteChangeCounter = 0;
    currentSprite++;
  }
  else
  {
    spriteChangeCounter++;
  }

  if(moving)
  {
    switch(dir)
    {
      case DIR_N:
        ctx2.putImageData(boyAnimUp[currentSprite%3], x2, y2);
        break;
      case DIR_S:
        ctx2.putImageData(boyAnimDown[currentSprite%3], x2, y2);
        break;
      case DIR_E:
        ctx2.putImageData(boyAnimRight[currentSprite%3], x2, y2);
        break;
      case DIR_W:
        ctx2.putImageData(boyAnimLeft[currentSprite%3], x2, y2);
    }
  }
  else
  {
    switch(dir)
    {
      case DIR_N:
        ctx2.putImageData(boyAnimUp[0], x2, y2);
        break;
      case DIR_S:
        ctx2.putImageData(boyAnimDown[0], x2, y2);
        break;
      case DIR_E:
        ctx2.putImageData(boyAnimRight[0], x2, y2);
        break;
      case DIR_W:
        ctx2.putImageData(boyAnimLeft[0], x2, y2);      
    }
  }
  
  requestAnimationFrame(secondLoop);
}

window.onload = function() {	  
  canvas2 = document.getElementById("idCanvas2");
  ctx2 = canvas2.getContext("2d");
  
  spritesheet2 = new Image();
  spritesheet2.src=document.getElementById("sprite_img").src;
  spritesheet2.onload = function() {

    sx = canvas2.width-spritesheet2.width;
    sy = canvas2.height-spritesheet2.height;
    
    ctx2.drawImage(spritesheet2, sx, sy);
  
    for (currentSprite=0; currentSprite&lt;3; currentSprite++)
    {
      boyAnimDown.push(ctx2.getImageData(sx, sy+(84*currentSprite), 68, 84));
      boyAnimUp.push(ctx2.getImageData(sx+68, sy+(84*currentSprite), 68, 84));
      boyAnimLeft.push(ctx2.getImageData(sx+136, sy+(84*currentSprite), 68, 84));
      boyAnimRight.push(ctx2.getImageData(sx+(3*68), sy+(84*currentSprite), 68, 84));
    }

    currentSprite = 0;
    requestAnimationFrame(secondLoop);
  }; 
};


document.onkeydown = function(e) {
  switch (e.keyCode) {
  case 38:	
	  dir = DIR_N;
	  moving = true;
    dy2 = -3;
	  break;
  case 37:
	  dir = DIR_W;
	  moving = true;
    dx2 = -3;
	  break;	
  case 39:	
	  dir = DIR_E;
	  moving = true;
    dx2 = 3;
	  break;
  case 40:
	  dir = DIR_S;
	  moving = true;
    dy2 = 3;
	  break;
  }
};

document.onkeyup = function(e) {
	moving = false;
  dx2 = 0;
  dy2 = 0;
};

Apêndice B – Código HTML Completo

<html>
  <head>
    <script type="text/javascript" src="sprites.js"></script>
  </head>
  <style>
    canvas {
      border: 1px solid black;
    }
  </style>
  <body>
    <p>Use as setas do teclado para mover o personagem</p>
    <canvas id="idCanvas2" width="640" height="480">
      Seu navegador não tem suporte ao 'canvas'.
    </canvas>
    <img id="sprite_img" alt="Embedded Image" width="400" style="display: none;" src="  data:image/png;base64,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" />
  </body>
</html>
Anúncios

Um comentário sobre “HTML5/JavaScript para Jogos (Parte 13)

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s