Oi pessoal, tudo bem?
Mostrei o jogo desenvolvido para meu amigo e ele me perguntou se poderia implentar as setas laterais para ajudar na jogatina.
Então fiz algumas alterações no código e cheguei neste resultado:
// ator
let yAtor = 366;
let xAtor = 85;
let colisao = false;
let meusPontos = 0;
function mostraAtor(){
image(imagemDoAtor, xAtor, yAtor, 30, 30);
}
function movimentaAtor(){
if (keyIsDown(UP_ARROW)){
yAtor -= 3;
}
if (keyIsDown(DOWN_ARROW)){
if (podeSeMover()){
yAtor += 3;
}
}
if (keyIsDown(RIGHT_ARROW)){
if (podeSeMoverLateral("Direita")){
xAtor += 3;
}
}
if (keyIsDown(LEFT_ARROW)){
if (podeSeMoverLateral("Esquerda")){
xAtor -= 3;
}
}
}
function verificaColisao(){
for (let i = 0; i < imagemCarros.length; i = i + 1){
colisao = collideRectCircle(xCarros[i],yCarros[i],comprimentoCarro, alturaCarro, xAtor, yAtor, 15);
if (colisao){
voltaAtorParaPosicaoInicial();
somDaColisao.play();
if (pontosMaiorQueZero()){
meusPontos -= 1;
}
}
}
}
function voltaAtorParaPosicaoInicial(){
yAtor = 366;
xAtor = 85;
}
function incluiPontos(){
textAlign(CENTER);
textSize(25);
fill(color(255,240,60));
text(meusPontos, width / 5, 27);
}
function marcaPonto(){
if (yAtor < 15){
meusPontos += 1;
somDoPonto.play();
voltaAtorParaPosicaoInicial();
}
}
function pontosMaiorQueZero(){
return meusPontos > 0;
}
function podeSeMover(){
return yAtor < 366;
}
function podeSeMoverLateral(direcao){
if (direcao == "Direita"){
return xAtor < 452;
}
if (direcao == "Esquerda"){
return xAtor > 10;
}
}
Link do Jogo: https://editor.p5js.org/diego-paulucci/full/9-T1gTwvR
O que acharam? Ele gostou :)