3
respostas

Exibição do jogo sem ser pelo P5

Boa tarde,

Eu estou conseguindo acompanhar através do p5.js, porém também estou tentando via HTML, mas não estou conseguindo. Criei um HTML fazendo a chamada do meu código em JS, mas só aparece o H2 que especifiquei como teste. Saberiam me informar como posso fazer isso, ou o que eu fiz de errado na chamada? Segue abaixo o HTML e o JS.

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">    
</head>
<body>
    <header>
        <div class="container">
            <h2 class="titulo">Joguinho</h2>
        </div>
    </header>
    <main>        
        <canvas id="canvas" width="600" height="400"></canvas>

    </main>
    <script src="joguinho.js"></script>
</body>
</html>
//Variáveis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametro = 15;
let raio = diametro / 2;

//Velocidade da bolinha
let velocidadeBolinhaX = 5;
let velocidadeBolinhaY = 5;

function setup(){
    createCanvas(600,400);
}

function draw(){    
    background(0);    
    mostraBolinha();    
    movimentoBolinha();   
    verificaColisaoBorda();
}

function mostraBolinha(){
    circle(xBolinha,yBolinha,diametro);
}

function movimentoBolinha(){
    xBolinha += velocidadeBolinhaX;
    yBolinha += velocidadeBolinhaY;
}

function verificaColisaoBorda(){
    if(xBolinha + raio > width || xBolinha - raio < 0 ){
        velocidadeBolinhaX *= -1;        
    }

    if(yBolinha + raio > height || yBolinha - raio < 0){
        velocidadeBolinhaY *= -1;
    }
}
3 respostas

Fala, Diego! Tudo bem? Espero que sim!!!

Meu amigo, bacana da sua parte em reproduzir via HMTL, porém, no código acima, faltam algumas informações para saber onde está o problema. Por exemplo:

Quando chamamos "draw" o script não consegue localizar a função do background ou mesmo do mostraBolinha e assim por diante.

Para que você veja de onde está vindo o erro, dê uma olhada no console do seu navegador (F12 ou Ctrl + Shift + i). Verá que constará que ele não está localizando "tal" função.

Confira esses pontos e nos dê um retorno, Diego!!!

Um abração!!!

Oi Diego. Também sou apressado em testar de várias formas...rs. Adiantando seus estudos amigo, vou te dar sua resposta:

Algumas funções usadas no código das aulas do P5, são funções criadas pela biblioteca do P5, então quando você fez um arquivo local html e js seu código não consegue encontrar estas funções. Uma saída pra contornar isso é colocar no head do seu html à referência a biblioteca do P5. Como disse estou apenas adiantando seus estudos, em breve você vai ver sobre onde e como colocar estas referências a bibliotecas externas.

<head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.10.2/p5.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.10.2/addons/p5.sound.min.js"></script>

  </head>

Muito obrigado pelo retorno, Cassio e Romulo.

Ainda não consegui averiguar o erro que retorna no console, nem adicionei as bibliotecas ainda no código, mas assim que conseguir, posto aqui quais foram os resultados.

Obrigado novamente.