Após a video aula sobre a raquete do oponente, tentei recriar a função de movimento da mesma, porém a raquete não se movimenta no eixo Y (seguindo a bolinha como no código) enquanto a bolinha se movimenta tranquilamente.
//Racket's Variables
let xRacketL = 5;
let yRacketL = 150;
let xRacketsize = 10;
let yRacketsize = 90;
let xRacketR = 585;
let yRacketR = 150;
let yRacketRspeed;
//Ball's varaibles
let speedXBall = 6;
let speedYBall = 6;
let xBall = 300;
let yBall = 200;
let diameter = 15;
let radius = diameter/2;
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0);
showBall();
moveBall();
checkBoardcollision();
moveRacketL();
checkRacketLcollision();
showRacket(xRacketL, yRacketL);
showRacket(xRacketR, yRacketR);
}
//Show
function showBall(){
circle(xBall, yBall, diameter);
}
function showRacket(x,y){
rect(x, y, xRacketsize, yRacketsize);
}
//Move
function moveBall(){
xBall += speedXBall;
yBall += speedYBall;
}
function moveRacketL() {
if (keyIsDown(UP_ARROW)) {
yRacketL -= 10;
}
if (keyIsDown(DOWN_ARROW)) {
yRacketL += 10;
}
}
function moveRacketR(){
yRacketRspeed = yBall - yRacketR - yRacketsize / 2 - 30;
yRacketR += yRacketspeed;
}
//Check collision
function checkRacketLcollision() {
if (xBall - radius < xRacketL + xRacketsize &&
yBall - radius < yRacketL + yRacketsize && yBall + radius > yRacketL)
{speedXBall *= -1}
}
function checkBoardcollision(){
if (xBall + radius> width ||
xBall - radius< 0){
speedXBall *= -1;
}
if (yBall + radius> height ||
yBall - radius < 0){
speedYBall *= -1;
}
}
O quê há de errado com meu código?
Desde já agradeço.