Pessoal eu estou com um problema no código do jogo da estrada. Quando eu adiciono o código para que o ATOR não suma da tela, a função (keyIsDown(DOWN_ARROW)) não funciona.
segue o link https://editor.p5js.org/JeffersonBraga/sketches/WqiM5uyMk
Pessoal eu estou com um problema no código do jogo da estrada. Quando eu adiciono o código para que o ATOR não suma da tela, a função (keyIsDown(DOWN_ARROW)) não funciona.
segue o link https://editor.p5js.org/JeffersonBraga/sketches/WqiM5uyMk
Olá Jefferson, tudo bem? Espero que sim!
Você pode tentar fazer desta maneira:
function podeSeMover(){
return yAtor < 366;
}
function movimentaAtor(){
if (keyIsDown(UP_ARROW)){
yAtor -= 3;
}
if (keyIsDown(DOWN_ARROW)){
if(podeSeMover()){
yAtor += 3;
}
}
}
Assim o ator não ultrapassará os limites da tela, e andará para trás normalmente.
O código na pasta sketch.js ficará assim:
function setup() {
createCanvas(500, 400);
}
function draw() {
background(imagemEstrada);
movimentaAtor();
ator();
carros();
movimentaCarros();
loopingCarros();
verColisao();
placar();
pontos();
}
E na pasta ator.js ficará dessa forma:
//codigo ator
let yAtor = 366;
let xAtor= 70;
let colisao = false;
function ator(){
image(imagemAtor,xAtor ,yAtor , 30, 30);
}
function podeSeMover(){
return yAtor < 366;
}
function movimentaAtor(){
if (keyIsDown(UP_ARROW)){
yAtor -= 3;
}
if (keyIsDown(DOWN_ARROW)){
if(podeSeMover()){
yAtor += 3;
}
}
}
function verColisao(){
for (let i =0; i < imagemCarros.length; i++){
colisao = collideRectCircle(xCarro[i], yCarro[i], aCarros, cCarros, xAtor, yAtor, 5)
if (colisao){
colidiu()
}
}
}
function colidiu(){
yAtor = 366;
if (meusPontos > 0){
meusPontos -= 1;
}
}
Espero ter ajudado!
Caso surjam dúvidas, fico à disposição.
Abraços e bons estudos!