Curso Intensivo de Canvas: Explore a Criatividade
Sobre a Aula

Desenvolvimento de uma aplicação simples

Vamos desenvolver uma aplicação simples no módulo de Projetos Práticos e Aplicações do curso sobre HTML Canvas. Esta aplicação servirá como um exemplo prático para consolidar os conceitos aprendidos até agora.

Desenvolvimento de uma Aplicação Simples: Desenhando uma Casa

Nossa aplicação consistirá em desenhar uma casa básica no Canvas. Vamos dividir esse processo em passos simples:

Passo 1: Configuração Inicial

Antes de começar, certifique-se de ter um arquivo HTML básico com um elemento Canvas.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Desenhando uma Casa</title>
  <style>
    canvas {
      border: 1px solid #000;
      display: block;
      margin: 20px auto;
    }
  </style>
</head>
<body>
  <canvas id="minhaCanvas" width="400" height="400"></canvas>

  <script>
    var canvas = document.getElementById("minhaCanvas");
    var contexto = canvas.getContext("2d");
  </script>
</body>
</html>

Passo 2: Desenho da Casa

Agora, vamos adicionar o código JavaScript para desenhar a casa no Canvas.

// Parte 2: Desenho da Casa
var tamanhoCasa = 100;

contexto.beginPath();

// Desenhar o retângulo da casa
contexto.rect(canvas.width / 2 - tamanhoCasa / 2, canvas.height / 2 - tamanhoCasa / 2, tamanhoCasa, tamanhoCasa);
contexto.fillStyle = "lightblue";
contexto.fill();
contexto.stroke();

// Desenhar o telhado
contexto.beginPath();
contexto.moveTo(canvas.width / 2 - tamanhoCasa / 2, canvas.height / 2 - tamanhoCasa / 2);
contexto.lineTo(canvas.width / 2, canvas.height / 2 - tamanhoCasa);
contexto.lineTo(canvas.width / 2 + tamanhoCasa / 2, canvas.height / 2 - tamanhoCasa / 2);
contexto.closePath();
contexto.fillStyle = "red";
contexto.fill();
contexto.stroke();

Este código desenha um retângulo representando a casa e um triângulo acima do retângulo representando o telhado. A posição e o tamanho da casa podem ser ajustados conforme necessário.

Passo 3: Interação Simples

Vamos adicionar uma interação simples. Ao clicar na casa, ela mudará de cor.

// Parte 3: Interação Simples
canvas.addEventListener('click', function() {
  contexto.clearRect(0, 0, canvas.width, canvas.height);
  contexto.beginPath();
  contexto.rect(canvas.width / 2 - tamanhoCasa / 2, canvas.height / 2 - tamanhoCasa / 2, tamanhoCasa, tamanhoCasa);
  contexto.fillStyle = getRandomColor();
  contexto.fill();
  contexto.stroke();

  contexto.beginPath();
  contexto.moveTo(canvas.width / 2 - tamanhoCasa / 2, canvas.height / 2 - tamanhoCasa / 2);
  contexto.lineTo(canvas.width / 2, canvas.height / 2 - tamanhoCasa);
  contexto.lineTo(canvas.width / 2 + tamanhoCasa / 2, canvas.height / 2 - tamanhoCasa / 2);
  contexto.closePath();
  contexto.fillStyle = getRandomColor();
  contexto.fill();
  contexto.stroke();
});

function getRandomColor() {
  var letras = '0123456789ABCDEF';
  var cor = '#';
  for (var i = 0; i < 6; i++) {
    cor += letras[Math.floor(Math.random() * 16)];
  }
  return cor;
}

O resultado do código ficará assim:

Desenhando uma Casa

Agora, ao clicar na casa, ela mudará de cor aleatoriamente

O que você achou desse mini projeto? É interessante trabalhar com o Canvas. Com ele dar para criar várias coisa interessante.

Então, use a sua imaginação e acrescente mais elementos a essa casa. Agora, dito isso, vamos para próxima aula.

Entrar na conversa
Rolar para cima