2
respostas

[Bug] Função VoltaAtorPosicaoInicial às vezes funciona, às vezes não.

Criei a função para fazer o que o nome já diz. Funcionou perfeitamente. Salvei. Voltei pro P5 mais tarde, e o ator não andava. Sem msg de erro. Sai do P5, voltou, e o ator voltou a andar. Agora parou novamente..

https://editor.p5js.org/expantalho/sketches/A-0S-9t1-

2 respostas

Acabei de perceber que quando a função voltaAtorPosicaoInicial() não está no sketch.js, tudo funciona! Mas ela não tinha que, obrigatoriamente, estar no sketch.js?

Olá Bernardo, tudo bem por aí?

Quando abri seu projeto, percebi que você havia comentado a função voltaAtorPosicaoInicial() no draw do sketch.js, o que fazia com que ela não funcionasse. No entanto, acredito que você já tenha resolvido esse problema. De qualquer forma, o código que deveria ser usado é o seguinte:

function voltaAtorPosicaoInicial() {
  if (yAtor < 10) {
    yAtor = 365;
  } else if (yAtor > 400) {
    yAtor = 365;
  }
}

Basicamente, essa função verifica a posição vertical (y) do objeto ator e, se estiver fora da faixa de valores entre 10 e 400, define a posição y do ator como 365. Em resumo, essa função faz com que o ator volte para a posição inicial se ele sair do limite vertical definido.

Essa função funcionará bem no seu projeto, pois já a adicionei no link que você disponibilizou.

Sobre sua outra dúvida, a resposta é não. As funções do JavaScript podem estar em arquivos diferentes, desde que estejam referenciadas no arquivo index.html e aplicadas na página HTML de alguma forma, como é o caso da nossa função draw().

Espero ter ajudado. Se você tiver outras dúvidas relacionadas ao curso ou conteúdo, não hesite em recorrer ao fórum novamente.

Um grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor marque ele como solução! ✓.

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