Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida no Ex. 2 da Aula 3 - Nosso primeiro jogo

Boa noite, estou com dois problemas neste exercicio. O primeiro é que mesmo com o comando "evento.preventDefaut();" o menu ainda aparece quando clico com o botão direito. O segundo problema é que aparece a seguinte mensagem no console javascript do meu Google Chrome: "Tiro com o botão esquerdo DisparoAV.html:13 Uncaught TypeError: Cannot read property 'pageX' of undefined DisparoAV.html:45 Tiro com o botão direito DisparoAV.html:25 Uncaught TypeError: Cannot read property 'pageX' of undefined"

Segue agora o meu código completo: (os espaços dados nos "< > " são propositais)

< meta charset="UTF-8" > < canvas id="tela" width="900" height="300">

< script >

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

c.fillStyle = "gray"; c.fillRect(0,0,900,300);

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

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

console.log("O disparo foi dado em: " + x + ", " + y); }

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

c.fillStyle = "red"; c.beginPath(); c.arc(x,y,10,0,2*Math.PI); c.fill();

console.log("O disparo foi dado em: " + x + ", " + y); evento.preventDefault(); }

//Botão esquerdo do mouse tela.onclick = function(evento){ console.log("Tiro com o botão esquerdo"); TiroAzul(); }

//Botão direito do mouse tela.oncontextmenu = function(evento){ console.log("Tiro com o botão direito"); TiroVermelho(); evento.preventDefault(); }

< /script >

1 resposta
solução!

Ja encontrei o erro, como faço pra fechar a dúvida?

Novo codigo, conversei com um amigo e ele me explicou o erro:

< meta charset="UTF-8"> < canvas id="tela" width="900" height="300">

< script>

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

c.fillStyle = "gray"; c.fillRect(0,0,900,300);

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

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

console.log("O disparo foi dado em: " + x + ", " + y); console.log("Tiro com o botão esquerdo"); }

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

c.fillStyle = "red"; c.beginPath(); c.arc(x,y,10,0,2*Math.PI); c.fill();

console.log("O disparo foi dado em: " + x + ", " + y); console.log("Tiro com o botão direito"); event.preventDefault(); }

//Botão esquerdo do mouse tela.onclick = TiroAzul;

//Botão direito do mouse tela.oncontextmenu = TiroVermelho;

< /script>