1
resposta

código não dá erro e nem aparece a raquete do oponente

Bom dia, no meu código não aparece erro, mas não aparece a raquete do oponente, poderiam me ajudar? Obrigada :) https://editor.p5js.org/Lindsayncastro/sketches/WNt-vLUQk

1 resposta

Olá, Lindsay! Espero que esteja tudo bem por aí!

Desculpe a demora em responder você!

Observei seu código e identifiquei dois erros. O primeiro é que você inseriu um valor muito alto no xRaqueteOponente, e ele é desenhado fora da tela. A let xRaqueteOponente = 855; é maior do que a área de preview, que está na function Canvas() e tem o valor de largura 600 por altura 400, createCanvas(600, 400) .

Outro ponto de atenção é que você chamou duas vezes a mostraRaquete() e depois inseriu os parâmetros na mostraRaquete(xRaqueteOponente, yRaqueteOponente). No entanto a mostraRaquete() já estava com os parâmetros definidos dentro do escopo da função e isso gera um conflito de informações.

Modifiquei alguns elementos no seu código para que você possa visualizar e compreender melhor,



//variáveis da raquete
let xRaquete = 5;
let yRaquete = 150;
let raqueteComprimento = 10;
let raqueteAltura = 90;

//variáveis da raquete do oponete:
let xRaqueteOponente = 580;
let yRaqueteOponente = 150;

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

function draw() {
  background(0);
  mostraBolinha();
  movimentaBolinha();
  verificaColisaoBorda();
  mostraRaquete();
  mostraRaqueteOponente();
  movimentaMinhaRaquete();
  verificaColisaoRaquete();

}

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 mostraRaqueteOponente() {
    rect(xRaqueteOponente, yRaqueteOponente, 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;
  }
}

Espero que as informações tenham ajudado!

Um abraço e bons estudos!