Então é eu consegui jogar o código compartilhado da minha biblioteca e ele foi executado de forma adequada, só que quando eu coloco a raquete do meu oponente, o mesmo começa a dar erro e não consigo dar andamento na minha jornada.
Então é eu consegui jogar o código compartilhado da minha biblioteca e ele foi executado de forma adequada, só que quando eu coloco a raquete do meu oponente, o mesmo começa a dar erro e não consigo dar andamento na minha jornada.
Oi Igor, consegue jogar seu código aqui? Assim conseguimos te ajudar melhor :)
Nesse código que você passou está com syntax error devido a algumas chaves sobrando no final. Após essa correção, adicionei a raquete do oponente e criei uma pequena lógica para movimentá-la e está se comportando normalmente.
//variáveis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametro = 15;
let raio = diametro / 2;
//velocidade da bolinha
let velocidadeXBolinha = 6;
let velocidadeYBolinha = 6;
//variáveis da raquete
let xRaquete = 5;
let yRaquete = 150;
let xRaqueteOpo = 585;
let yRaqueteOpo = 150;
let raqueteComprimento = 10;
let raqueteAltura = 90;
let colidiu = false;
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0);
mostraBolinha ();
movimentaBolinha ();
verificaColisaoBorda();
mostraRaquetes();
movimentaMinhaRaquete ();
movimentaRaqueteOponente();
//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 mostraRaquetes (){
rect(xRaquete, yRaquete, raqueteComprimento, raqueteAltura);
rect(xRaqueteOpo, yRaqueteOpo, raqueteComprimento, raqueteAltura);
}
function movimentaMinhaRaquete() {
if (keyIsDown(UP_ARROW)) {
yRaquete -= 10;
}
if (keyIsDown(DOWN_ARROW)) {
yRaquete += 10;
}
}
function movimentaRaqueteOponente() {
yRaqueteOpo = yBolinha
}
function colisaoMinhaRaqueteBiblioteca() {
collideRectCircle(200, 200, 100, 150, mouseX, mouseY, 100);
}
Se ficou alguma dúvida, manda aqui de novo que eu te ajudo.
Mas eu já tinha simplificado o código como no video, eu copio esse código e da o mesmo erro quando eu vou simplificar.
Mas eu já tinha simplificado o código como no video, eu copio esse código e da o mesmo erro quando eu vou simplificar.
Mas eu já tinha simplificado o código como no video, eu copio esse código e da o mesmo erro quando eu vou simplificar.
Mas eu já tinha simplificado o código como no video, eu copio esse código e da o mesmo erro quando eu vou simplificar.//variáveis da bolinha let xBolinha = 300; let yBolinha = 200; let diametro = 15; let raio = diametro / 2;
//velocidade da bolinha let velocidadeXBolinha = 6; let velocidadeYBolinha = 6;
//variáveis da raquete let xRaquete = 5; let yRaquete = 150; let xRaqueteOpo = 585; let yRaqueteOpo = 150; let raqueteComprimento = 10; let raqueteAltura = 90;
let colidiu = false;
function setup() { createCanvas(600, 400); }
function draw() { background(0); mostraBolinha (); movimentaBolinha (); verificaColisaoBorda(); mostraRaquetes(); movimentaMinhaRaquete (); movimentaRaqueteOponente(); //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 mostraRaquetes (){ rect(xRaquete, yRaquete, raqueteComprimento, raqueteAltura); rect(xRaqueteOpo, yRaqueteOpo, raqueteComprimento, raqueteAltura); }
function movimentaMinhaRaquete() { if (keyIsDown(UP_ARROW)) { yRaquete -= 10; }
if (keyIsDown(DOWN_ARROW)) { yRaquete += 10; } }
function movimentaRaqueteOponente() { yRaqueteOpo = yBolinha }
function colisaoMinhaRaqueteBiblioteca() { collideRectCircle(200, 200, 100, 150, mouseX, mouseY, 100); }
A colisão não existe com a raquete do oponente, tenho um erro é possível vocês ajudarem!? Estou desesperado, estou me jogando aqui como uma terapia não aguento mais dar erros e erros, custa passar a informação e me ajudar por completo? Por favor.
Meu e o pior é algo tão simples porque comigo não esta dando certo???
Fala Igor, tudo bem? O código que você colou aqui está com problema no fechamento das chaves novamente. Além disso, você diz que não existe a colisão com a raquete do oponente, você não criou as funções para isso. Você precisa criar a função verificaColisaoRaquete(x,y);
function verificaColisaoRaquete(x, y){
colidiu = collideRectCircle(x, y,raqueteComprimento,raqueteAltura,
xBolinha,yBolinha,raio);
if (colidiu){
velocidadeXBolinha *= -1;
}
}
Veja no exemplo do professor: https://cursos.alura.com.br/course/pong-javascript/task/56108
Até mais!