Há algum tempo venho percebendo que às vezes o JavaScript para de identificar a tag que fecha o Script "", apresentando essa mensagem: "Uncaught SyntaxError: Unexpected end of input" exatamente na linha da tag de fechamento. Alguém poderia me explicar isso? Uso o Sublime Text 3. Talvez não seja um problema do programa, e sim erro meu mesmo, por isso vou deixar meu código aqui caso alguém identifique um erro que eu não estou vendo. Agradeço a atenção.
<canvas width="800" height="600"></canvas>
<script>
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
function desenhaCirculo(x, y, raio, cor) {
pincel.fillStyle = cor;
pincel.beginPath();
pincel.arc(x, y, raio, 0, 2 * Math.PI);
pincel.fill();
}
function desenhaCenario() {
pincel.fillStyle = 'lightblue'; // desenha o céu.
pincel.fillRect(0, 0, 800, 600);
pincel.fillStyle = "green"; // desenha a grama.
pincel.beginPath();
pincel.fillRect(0,400,800,600);
// primeira nuvem:
desenhaCirculo(100,50,20,"white");
desenhaCirculo(150,100,20,"white");
pincel.fill();
desenhaCirculo(50,100,20,"white");
pincel.fill();
desenhaCirculo(100,100,30,"white");
pincel.fill();
desenhaCirculo(130,70,25,"white");
pincel.fill();
desenhaCirculo(70,70,25,"white");
pincel.fill();
// segunda nuvem:
desenhaCirculo(700,50,20,"white");
pincel.fill();
desenhaCirculo(650,100,20,"white");
pincel.fill();
desenhaCirculo(750,100,20,"white");
pincel.fill();
desenhaCirculo(700,100,30,"white");
pincel.fill();
desenhaCirculo(670,70,25,"white");
pincel.fill();
desenhaCirculo(730,70,25,"white");
pincel.fill();
// árvore:
pincel.fillStyle = "brown";
pincel.beginPath();
pincel.fillRect(50,270,70,300);
desenhaCirculo(85,250,100,"green");
}
var canvasX = 800;
var canvasY = 600;
function desenhaAlvo() {
var x = Math.round(Math.random() * canvasX);
var y = Math.round(Math.random() * canvasY);
desenhaCirculo(x,y,30,"red");
desenhaCirculo(x,y,20,"white");
desenhaCirculo(x,y,10,"red");
}
function atualizaTela() {
desenhaCenario();
desenhaAlvo();
}
function dispara(evento) {
var cliqueX = evento.pageX - tela.offLeft;
var cliqueY = evento.pageY - tela.offTop;
if (cliqueX >= x - 10
&& cliqueX <= x + 10
&& cliqueY >= y - 10
&& cliqueY <= y + 10) {
alert("Acertou!");
}
desenhaCenario();
desenhaAlvo();
setInterval(atualizaTela, 1000);
</script>