Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Nao entendi

o meu deu certinho mais eu nao entendi direito, alguem pode me dar uma explicação um pouco melhor na hora que o personagem nao pode passar para baixo?

if (keyIsDown(DOWN_ARROW)) { if (PodeSeMover()) { yAtor += 3 } } }

2 respostas
solução!

Oi oi, Marcelo! Como você está?

Muito interessante sua dúvida e às vezes algumas coisas se complicam mesmo. Mas o importante é procurar entender tudo, como você está fazendo. Vamos lá!

Essa estrutura condicional possui um SE dentro de um SE (Um if dentro de outro if). Basicamente uma condição está subordinada a outra para ocorrer, vejamos no código;

if (keyIsDown(DOWN_ARROW)) { //Verifique Se a tecla seta para baixo estápressionada
        if (PodeSeMover()) // Verifique se a função PodeSeMover() é VERDADEIRA (ou seja, se ela está ocorrendo)
                { 
                        yAtor += 3 // execute a instrução que movimenta o ator no eixo y com o valor de + 3
                } 
        } 
}

A função pode se mover() retorna um valor e esse valor é a posição do Ator no eixo de y, que precisa ser menor do 366. Sendo assim, se o valor retornado for menor que 366 não será possível executar a instrução que o movimenta pelo eixo de y. Olha o código.

function podeSeMover(){
    return yAtor < 366; //aqui o valor retornado é menor que 366, ou seja, o ator precisa estar posicionado abaixo desse limite.
}

Vou deixar aqui uma documentação bem interessante sobre o return em JavaScript; Return MDN

Espero que as informações tenham ajudado, em caso de dúvida fico à disposição!

Um abraço e bons estudos!

entao basicamente essa funcao so vai funcionar se o yAtor for menore que 366 certo? obg