O jogo não funciona depois de colocar os sons. Segui os conselhos dos colegas e coloquei tudo numa pasta só, o jogo sai daquele erro de ficar mostrando "loading" na tela, mas depois que a vaquinha atravessa a rua o jogo trava completamente e fica congelado!!
imagens.js
// Imagens do jogo
let imagemDaEstrada;
let imagemDoAtor;
let imagemDoCarro1;
let imagemDoCarro2;
let imagemDoCarro3;
// Sons do jogo
let somDaTrilha;
let somDosPontos;
let somDaColisao;
function preload() {
somDaTrilha = loadSound("imgs/trilha.mp3");
somDosPontos = loadSound("imgs/pontos.wav");
somDaColisao = loadSound("imgs/colidiu.mp3");
imagemDaEstrada = loadImage("imgs/estrada.png");
imagemDoAtor = loadImage("imgs/ator-1.png");
imagemDoCarro1 = loadImage("imgs/carro-1.png");
imagemDoCarro2 = loadImage("imgs/carro-2.png");
imagemDoCarro3 = loadImage("imgs/carro-3.png");
imagemCarros = [imagemDoCarro1, imagemDoCarro2, imagemDoCarro3, imagemDoCarro1, imagemDoCarro2, imagemDoCarro3 ];
}
ator.js
let yAtor = 590;
let xAtor = 500;
let colisao = false; // personagem nasce embaixo, portanto no início do jogo não tem colisão
let meusPontos = 0;
function mostraAtor() {
imagemDaEstrada(imagemDoAtor, xAtor, yAtor, 30, 30);
print(yAtor);
}
function movimentaAtor() {
if (keyIsDown(UP_ARROW)) {
yAtor -= 3;
}
if (keyIsDown(DOWN_ARROW)) {
if (podeSeMover()) { // Limita a movimentação do ator para que não passe do limite da tela
yAtor += 3;
}
}
}
function verificaColisao() {
for (let i = 0; i < imagemCarros.length; i++) {
colisao = collideRectCircle(xCarros[i], yCarros[i], comprimentoCarros, alturaCarros, xAtor, yAtor, 15);
if (colisao) {
voltaAtorPosicaoInicial();
somDaColisao.play();
if (pontosMaiorQueZero()) {
meusPontos -= 1;
}
}
}
}
function voltaAtorPosicaoInicial() {
yAtor = 590;
}
// desenha o placar na tela
function incluiPontos() {
textAlign(CENTER);
textSize(25);
fill(color(255, 240, 60));
text(meusPontos, width / 5, 35); // define a posição onde aparece o texto
}
// faz a alteração dos pontos
function marcaPonto() {
if (yAtor < 15) { // define uma posição específica que o ator alcança ao marcar os pontos
meusPontos += 1;
voltaAtorPosicaoInicial();
somDaPonto.play();
}
}
function pontosMaiorQueZero() {
return meusPontos > 0;
}
function podeSeMover() { // Verifica se o ator está na posição inicial
return yAtor === 590;