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

Deu erro inesperado

Depois que eu adicionei um novo código, surgiu deu erro


//variaveis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametro = 15;
let raio = diametro / 2;

//velocidade da bolinha
let velocidadeXBolinha = 6;
let velocidadeYBolinha = 6;
let raqueteComprimento = 10;
let raqueteAltura = 90;

//variaveis da raquete
let xRaquete = 5;
let yRaquete = 150;

let colidiu = false;


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

function draw() {
  background(0);
  mostraBolinha();
  movimentaBolinha();
  verificaColisaoBorda();
  mostraRaquete();
  movimentaMinhaRaquete();
  //verificaColisaoRaquete();
  colisaoMinhaRaqueteBiblioteca();
}

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

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

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

function mostraRaquete(){
  rect(xRaquete, yRaquete, raqueteComprimento,
       raqueteAltura);
}

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

}

function verificaColisaoRaquete(){
  if (xBolinha - raio < xRaquete + raqueteComprimento
      && yBolinha - raio < yRaquete + raqueteAltura 
      && yBolinha + raio > yRaquete){
    velocidadeXBolinha *= -1;
  }
}

function colisaoMinhaRaqueteBiblioteca(){
  colidiu =
collideRectCircle(xRaquete,yRaquete,raqueteComprimento, raqueteAltura,xBolinha,yBolinha,raio);
  if (colidiu){
    velocidadeXBolinha *= -1;
  }
}
6 respostas

Tem como mostrar o reportar o erro que apareceu?

Olá, Victor! Como vai?

Qual erro apareceu para você?

Eu copiei seu código no meu P5 e parece tudo normal. Você poderia compartilhar o link do seu para que a gente possa visualizar melhor?

O link que eu falo é esse que aparece na barra do seu navegador :

imlink

Ah, é importante lembrar que, para a biblioteca funcionar, precisamos fazer referência a ela em nosso código. E como fazemos isso?

Para a Biblioteca importada funcionar, você precisa fazer referência dela no arquivo index.html do mesmo jeito que chamou o sketch.js. Segue abaixo um exemplo:

referencia-collide

Espero que tenha conseguido te ajudar, qualquer coisa estamos por aqui!

Um abraço e bons estudos!

https://editor.p5js.org/vtsilvestre/sketches/QizIXiay0

Desculpa a demora

solução!

Olá, Victor. Não precisa se preocupar :)

Encontrei o probleminha no seu código.

Lá no seu index.html, você chamou a biblioteca como

<script src="p5.collide2d.js"></script>

Porém, o nome no arquivo está como p5.collide2d-1.js. Então eu só fiz modificar o nome no index.html que voltou a funcionar :D

<script src="p5.collide2d-1.js"></script>

Vou deixar aqui o código do index.html

<html lang="en">
  <head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.3.1/p5.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.3.1/addons/p5.sound.min.js"></script>
    <link rel="stylesheet" type="text/css" href="style.css">
    <meta charset="utf-8" />

  </head>
  <body>
    <script src="sketch.js"></script>
    <script src="p5.collide2d-1.js"></script>
    <!--- bem aqui, Victor <script src="p5.collide2d.js"></script>. Só fiz acrescentar o "-1" :D -->
  </body>
</html>

Um abraço e bons estudos!!!

Obrigado, me ajuda muito!

Fico feliz que tenha resolvido, Victor!

Qualquer dúvida, pode sempre contar com a gente!

Um abraço e bons estudos!