Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Cap3_EX1 - dúvida sobre o eixo y / console.log

Prezados (as),

Ao responder o Exercício 1 do Capítilo 3 do curso Praticando Lógica de Programação. Observei que ao clicar (atirar) no canvas no ponto 600 X 400 (canto inferior esquerdo), o console.log exibi as coordenadas aproximadas de "posição do clique: 598, 147", ou seja, o valor máximo da coordenada y é 147/150. Pergunto, não deveria ser algo mais aproximado de 400, tipo "598, 400"?

Segue o meu código:

<meta charset = "UTF-8">

<canvas id = "tela" width = "600" heigth = "400"></canvas>

<script>

var tela = document.getElementById("tela");
var c = tela.getContext("2d");

c.fillStyle = "gray";
c.fillRect(0, 0, 600, 400);

var desenhaCirculo = function (evento) {
    var x = evento.pageX - tela.offsetLeft;
    var y = evento.pageY - tela.offsetTop;

    c.fillStyle = "blue";
    c.beginPath();
    c.arc(x, y, 10, 0, 2*3.14);
    c.fill();

    console.log("posição do clique: " + x + ", " + y);
}

tela.onclick = desenhaCirculo;


</script>
3 respostas
solução!

Oi Ricardo,

o erro aqui foi simplesmente de digitação. Legal que você tenha notado que o canto estava na posição 600x150. Isso aconteceu porque o retângulo estava com apenas 150px de altura, mesmo, que é o padrão do navegador -- e isso aconteceu porque o atributo height está escrito como heigth.

Se a gente cria um <canvas> simplesmente, o comportamento padrão dos navegadores é criar um canvas de tamanho 300x150 pixels. Aí, como ele não entendeu seu height, ele foi pro tamanho padrão. :-)

Faz sentido?

Cecilia,

Obrigado pela solução, eu não estava conseguindo enxergar o erro de digitação. Agora estou atento com esses parâmetros.

Atenciosamente,

Ricardo Vieira

Ricardo, poderia por favor marcar a solução do seu problema. Caso contrário, a dúvida fica em aberto no Alura.