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
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
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!