Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
16
respostas

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

Não entendi meu erro:

16 respostas

Olá Cássio! Por favor, mande seu código para que possamos ajuda-lo

Muito obrigado!

"'

"'

Cássio seu código não foi enviado. Para envia-lo coloque entre ``` .

Boa Tarde Cassio .

por gentileza , coloque entre os acentos graves (```).

exemplo :

System.out.println("Hello Word");

`<canvas id="tela" width="600" height="400"></canvas>

```````

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

``<script>

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

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

tela.onclick = function(evento) { console.log("botão esquerdo");

var x = evento.pageX - tela.offsetLeft; var y = evento.pageY - tela.offsetTop;

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

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

tela.oncontextmenu = function(evento) { console.log("botão direito");

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

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

evento.preventDefault(); };

````

Cássio seu código ainda não veio completo.

Para manda-lo, coloque-o entre crases da seguinte forma:

(```)

Seu Código inteiro aqui

(```)

No entanto, use as crases sem parênteses, so os utilizei para te mostrar como fazer.

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

``````

Ta tenso!!! ahah

kkkkkk. Não se preocupe, caso não consiga apenas copie e cole seu código inteiro aqui.

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

<script>

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

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

tela.onclick = function(evento) { console.log("botão esquerdo");

var x = evento.pageX - tela.offsetLeft; var y = evento.pageY - tela.offsetTop;

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

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

tela.oncontextmenu = function(evento) { console.log("botão direito");

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

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

evento.preventDefault(); };

```

Apenas copie e cole seu código inteiro

solução!

Cassio, segue seu código com algumas correções


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

<script>

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

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

tela.onclick = function(evento) { 

    console.log("botão esquerdo");

    var x = evento.pageX - tela.offsetLeft; 
    var y = evento.pageY - tela.offsetTop;

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

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

};

tela.oncontextmenu = function(evento) { 

    console.log("botão direito");

    //faltou inicializar a posição do clique
    var x = evento.pageX - tela.offsetLeft; 
    var y = evento.pageY - tela.offsetTop;

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

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

    evento.preventDefault(); 

};

</script>

No método de oncontextmenu, você não identificou a posição do clique antecipadamente.

No mesmo método esta sendo chamado a função fillPath que não existe o correto é beginPath.

Att.

Vlw, Djonathan!!!

Vou dar uma estudada nisso!

Muito obrigado!

Ok,

somente lembre de marcar a resposta que solucionou o seu problema para fechar a discussão, caso a mesma esteja resolvida.

Bons estudos.