xavier1400
Membro
Boas, eu estou a criar um jogo de pong para um trabalho da escola mas tenho um problema.
Eu saquei da net um código para o jogo mas reparei que tem uns bugs quando a bola bate no jogador 1 ou no computador, só metade da barra do jogador é que está a funcionar, a outra não, ou seja metade da barra deixa a bola passar e não colide, eu acho que o erro está aqui mas não percebo muito bem disto.
O mesmo acontece nas paredes verticais, se eu meter a barra do player 1 para baixo metade da barra desaparece, se eu meter para cima metade da barra fica invisivel.
Eu saquei da net um código para o jogo mas reparei que tem uns bugs quando a bola bate no jogador 1 ou no computador, só metade da barra do jogador é que está a funcionar, a outra não, ou seja metade da barra deixa a bola passar e não colide, eu acho que o erro está aqui mas não percebo muito bem disto.
Código:
if(ball.x - bHalfWidth <= player.x + pHalfWidth) {
if(Math.abs(ball.y - player.y) <= pHalfHeight) {
vx = ballspeed;
if(v1!=0){
vy = 2*v1;
}
}
}else if(ball.x + bHalfWidth >= computer.x - pHalfWidth) {
if(Math.abs(ball.y - computer.y) <= pHalfHeight) {
vx = -ballspeed;
if(v2!=0){
vy = v2;
}
}
}
O mesmo acontece nas paredes verticais, se eu meter a barra do player 1 para baixo metade da barra desaparece, se eu meter para cima metade da barra fica invisivel.
Código:
if(player.y + pHalfHeight > stage.stageHeight) {
player.y = stage.stageHeight - pHalfHeight;
}else if(player.y - pHalfHeight < 0) {
player.y = 0 + pHalfHeight;
}
if(computer.y + pHalfHeight > stage.stageHeight) {
computer.y = stage.stageHeight - pHalfHeight;
}else if(computer.y - pHalfHeight < 0) {
computer.y = 0 + pHalfHeight;
}