Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Colocando movimentação para os lados

https://editor.p5js.org/matheusva/sketches/oT73uiWAy

Fiz o jogo conforme as aulas, mas adicionei a movimentação para os lados. : )

// código do ator

let xAtor = 85;
let yAtor = 336;
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)) {
    xAtor +=3;
  }
  if(keyIsDown(LEFT_ARROW)) {
    xAtor -=3;
  }
}

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) {
        voltaAtorParaPosicaoInicial();
        somDaColisao.play();
       if(pontosMaiorQueZero()){
         meusPontos -= 1;
       }
    }
  }
}

function voltaAtorParaPosicaoInicial() {
  yAtor = 366;
  xAtor = 100;
}

function incluiPontos() {
  textAlign(CENTER);
  textSize(25);
   fill(color(65, 105, 225))
  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;
}
1 resposta
solução!

Oi oi, Matheus! Como você está?

Parabéns pelo projeto e pela nova implementação. Funcionou direitinho e garantiu maior dinamismo ao jogo!

Continue com esse foco que sua carreira irá longe na área, não deixe dúvidas e conte com a gente!

Um abraço e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software