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

Load infinito, como resolver?

A minha página web nunca carrega o jogo. Meus códigos:

//Variáveis da bolinha
let xBolinha = 900; 
let yBolinha = 400; 
let diametro = 80; 
let raio = diametro / 2; 

//Variáveis da velocidade da bolinha
let velocidadeXBolinha = 15; 
let velocidadeYBolinha = 15; 

//Variáveis da raquete principal
let xRaquete = 10;
let yRaquete = 400;
let raqueteComprimento = 20;
let raqueteAltura = 200;

let colidiu = false;

//Placar do jogo
let pontosJogador = 0;
let pontosBOT = 0;

//Variáveis da raquete oponente
let xRaqueteOponente = 1890;
let yRaqueteOponente = 400;
let velocidadeYOponente;

//Sons do jogo
let raquetada;
let ponto;
let trilha;

function preload() {
    trilha = loadSound("trilha.mp3");
    ponto = loadSound("pontuação.mp3");
    raquetada = loadSound("batidaDaRaquete.mp3");
}

function setup() { 
    createCanvas(1920, 935);
    trilha.loop();
}

    function draw() {
        background(0);
        apareceBolinha();
        movimentosBolinha();
        colisaoBordas();
        apareceRaquete(xRaquete, yRaquete);
        movimentosRaquete();
        colisaoRaquetesBiblioteca(xRaquete, yRaquete);
        apareceRaquete(xRaqueteOponente, yRaqueteOponente);
        movimentosRaqueteOponente();
        colisaoRaquetesBiblioteca(xRaqueteOponente, yRaqueteOponente);
        aparecePlacar();
        pontuacao();
    }

    function apareceBolinha() {
        circle(xBolinha, yBolinha, diametro) 
    }

    function movimentosBolinha() {
        xBolinha += velocidadeXBolinha; 
        yBolinha += velocidadeYBolinha; 
    }

    function colisaoBordas() {
        if (xBolinha + raio > width || xBolinha - raio < 0) {
            velocidadeXBolinha *= -1;
        }
        if (yBolinha + raio > height || yBolinha - raio < 0) {
            velocidadeYBolinha *= -1;
        }
    }

    function apareceRaquete(x, y) {
        rect(x, y, raqueteComprimento, raqueteAltura);
    }

    function movimentosRaquete() {
        if (keyIsDown(UP_ARROW)) {
            yRaquete -= 10;
        }
        if (keyIsDown(DOWN_ARROW)) {
            yRaquete += 10;
        }
    }

    function colisaoRaquetesBiblioteca(x, y) {
       colidiu = collideRectCircle(x, y, raqueteComprimento, raqueteAltura, xBolinha, yBolinha, raio);
       if (colidiu) {
           velocidadeXBolinha *= -1;
       }
    }

    function movimentosRaqueteOponente() {
        velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteComprimento / 2 - 211;
        yRaqueteOponente += velocidadeYOponente;
    }

    function aparecePlacar() {
        stroke(255);
        textAlign(CENTER);
        textSize(20);
        fill(color(255, 215 ,0));
        rect(700, 10, 40, 20);
        fill(255);
        text(pontosJogador, 720, 26);
        fill(color(255, 215 ,0));
        rect(1100, 10, 40, 20);
        fill(255);
        text(pontosBOT, 1120, 26);
    }

    function pontuacao() {
        if (xBolinha > 1880) {
            pontosJogador += 1;
        }
        if (xBolinha < 40) {
            pontosBOT += 1;
        }
    }

Aparecem todos esses erros na página web: Insira aqui a descrição dessa imagem para ajudar na acessibilidadeE por último o print da minha IDE: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

5 respostas

Oi Lucas, tudo certo?

Então, como comentei em um post anterior seu, para rodar no VSCode, você irá precisar importar a biblioteca do P5.js no arquivo index.html, algo assim:

<body>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.3.1/p5.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.3.1/addons/p5.sound.js"></script>
    <script src="p5.collide2d.js"></script>
    <script src="game.js"></script>
</body>

Essas duas primeiras linhas são referentes a biblioteca do P5, para você usar as funções do editor de código deles no VsCode. A 3a linha é referente a biblioteca de colisão, que o professor adiciona. E a última linha é o nosso arquivo javascript em si, onde temos todo nosso jogo.

Mas ainda, se você abrir o arquivo index.html para rodar, ele não irá funcionar direto. Para resolver isso, você precisa instalar uma extensão chamada "Live Server" no VSCode, para abrir a aplicação em um servidor local, aí sim irá funcionar!

Procurando a extensão live server

Depois de procurar, é só clicar em "Install".

Para abrir uma aplicação com live server, depois de instalado a extensão, é só clicar com o botão direito em cima do arquivo "index.html" e então "Open with live server", dessa maneira:

Abrindo a aplicação com live server

Espero ter ajudado =) Bons estudos!

Desculpa, mas não funcionou, eu acabei de testar aqui. olha só: Insira aqui a descrição dessa imagem para ajudar na acessibilidadeMas de todo o modo, se eu não conseguir solucionar isso, tudo bem, estou satisfeito com que eu atingi no projeto. Obrigado a todos vocês pelas ajudas.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Lucas, pelo que eu vi você não iniciou a aplicação em "localhost", como o recomendado para funcionar, através da extensão live server!

Essa última foto o jogo está rodando de maneira correta, você conseguiu rodar? Conta pra gente aqui =)

HAAAAAA!! Agora funcionou!!! eu abri pelo live server com o botão direito do mouse, como indicado. Nossa muito obrigado. Desculpa fazer vocês explicarem a mesma coisa duas vezes kk. Eu não conhecia o termo "localhost", ele se referi a abrir pelo live server e quando feito isso fica com esses números do lado do título da página. Segue foto: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Hahahah show demais Lucas, fico feliz que funcionou! Estamos aqui para ajudar ;)

O localhost é um "servidor local". Sabe quando você tem um site hospedado em algum servidor remoto e você consegue acessar de qualquer lugar? Então, o localhost funciona como um servidor dessa maneira, porém local, só funcionará no seu computador.

Esses números '127.0.0.1' são referentes ao localhost, indicam o IP local. E o 5500 é a porta, mas não se preocupe com isso agora hahahah.

Você pode fazer o Curso de HTTP aqui da Alura e entender mais sobre isso.

Em resumo, a extensão live server abre nossa aplicação em servidor local, fazendo com que o jogo funcione da maneira correta =)

Espero ter ajudado, bons estudos!