meu projeto não esta funcionando e eu não sei porque meu link é https://editor.p5js.org/jor444rr/sketches/IpaL93nBm e preciso de ajuda para termina o projeto da aula
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
meu projeto não esta funcionando e eu não sei porque meu link é https://editor.p5js.org/jor444rr/sketches/IpaL93nBm e preciso de ajuda para termina o projeto da aula
faz quase uma semana que eu estou esperando uma resposta para esta pergunta poderia ser mais prestativo e responder meu link é https://editor.p5js.org/jor444rr/sketches/IpaL93nBm
Olá Jorge, tudo bem?
O problema apontado pelo p5.js é que a função keyIsDown() (e outras funções relacionadas ao p5.js) deve ser usada dentro das funções do p5.js, como setup() e draw(). Vou reorganizar seu código para que ele funcione adequadamente com a estrutura correta do p5.js:
// Variáveis do ator
let xAtor = 85;
let yAtor = 366;
let colisao = false;
let meusPontos = 0;
function setup() {
createCanvas(400, 400); // Defina o tamanho do canvas de acordo com suas necessidades
}
function draw() {
background(220); // Define a cor de fundo do canvas
movimentaAtor();
verificaColisao();
mostraAtor();
incluiPontos();
marcaPontos();
}
function mostraAtor() {
// Substitua esta linha pela sua própria função de exibição de imagem
// image(imagemDoAtor, xAtor, yAtor, 30, 30);
ellipse(xAtor, yAtor, 30, 30); // Exemplo de um círculo representando o ator
}
function movimentaAtor() {
if (keyIsDown(UP_ARROW) && podeSeMover()) {
yAtor -= 3;
}
if (keyIsDown(DOWN_ARROW)) {
yAtor += 3;
}
}
function verificaColisao() {
// Substitua estas variáveis pelas suas próprias
let imagemCarro = [];
let xCarro = [];
let yCarro = [];
let comprimentoCarro = [];
let alturaCarro = [];
for (let i = 0; i < imagemCarro.length; i++) {
colisao = collideRectCircle(
xCarro[i],
yCarro[i],
comprimentoCarro[i],
alturaCarro[i],
xAtor,
yAtor,
30
);
if (colisao) {
colidiu();
// Substitua estas linhas pelas suas próprias funções de som
// somDaColisao.play();
// if (pontosMaiorQueZero()) {
// meusPontos -= 1;
// }
}
}
}
function colidiu() {
yAtor = 366;
}
function incluiPontos() {
textAlign(CENTER);
textSize(25);
fill(color(255, 240, 60));
text(meusPontos, width / 2, 27);
}
function marcaPontos() {
if (yAtor < 15) {
meusPontos += 1;
// Substitua esta linha pela sua própria função de som
// somDoPonto.play();
colidiu();
}
}
function pontosMaiorQueZero() {
return meusPontos > 0;
}
function podeSeMover() {
return yAtor < 366;
}
claro Otávio Prado eu não entendi muitas das dicas que você me deu poderia ser mas claro por favor