Ola Pessoal,
Gostaria da ajuda de vocês para resolver uma questão que estou querendo colocar no codigo, porem não estou achando como.
Eu quero mudar a imagem da vaca para uma morta e segurar o jogo na imagem da vaca morta por 2segundos, porem adicionei no codigo na função verificaColisao() para mostrar a imagem do Ator Morto, um pause de 1s e depois ele chama a funcao colidiu para retornar ao inicio pontuando a morte.
Porem percebi que o carro ao tocar no ator ele altera a imagem do ator como esperado, porem nao esta segurando os segundos nessa imagem, antes de voltar para o inicio. eu gostaria de ficar com a imagemAtormorto por mais tempo e o jogo travado, so após os 1s ele voltaria para posição inicial
Obrigado...
Maikel
https://editor.p5js.org/maikelreis87/sketches/ZlKw0NGsu
//Variaveis Ator
let xAtor=100;
let yAtor=366;
let velocidadeAtor=5;
let colisao= false;
let meusPontos = 0;
let pontosMorte = 0;
function sleep(milliseconds) {
const date = Date.now();
let currentDate = null;
do {
currentDate = Date.now();
} while (currentDate - date < milliseconds);
}
function mostraAtor(x){
image(x,xAtor,yAtor,30,30);
}
function movimentaAtor(){
if (keyIsDown(UP_ARROW)){
yAtor -= velocidadeAtor;
}
if (keyIsDown(DOWN_ARROW)){
yAtor += velocidadeAtor;
}
if (keyIsDown(LEFT_ARROW)){
xAtor -= velocidadeAtor;
}
if (keyIsDown(RIGHT_ARROW)){
xAtor += velocidadeAtor;
}
}
function verificaColisao(){
//collideRectCircle(x1, y1, width1, height1, cx, cy, diameter)
for (let i=0; i < imagemCarros.length; i++){
colisao = collideRectCircle(xCarros[i], yCarros[i], comprimentoCarro, alturaCarro, xAtor, yAtor, 15)
if (colisao){
mostraAtor(imagemDoAtorMorto) //colidiu()
pausejogo()
colidiu()
}
}
}
function pausejogo(){
sleep(1000)
}
function colidiu(){
//volta posicao inicial e marca 1 ponto pra morte
yAtor = 366;
mostraAtor(imagemDoAtor);
pontosMorte += 1;
voltaPosicaoInicial();
}
function incluirPontos(){
stroke(255)
textAlign(CENTER)
textSize(25);
fill(color(255,140,0));
text(meusPontos, 170, 26);
fill(color(255,140,0));
text(pontosMorte,470,26);
}
function marcaPonto(){
if (yAtor < 15){
meusPontos += 1
voltaPosicaoInicial()
}
}
function voltaPosicaoInicial(){
yAtor = 366;
}