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

Duvida sobre funções

Olá, Alguém sabe me dizer o motivo da função colidiu não precisar ser chamada em draw e a incluiPontos precisar?

Obrigada!

Imagem de duas funções colidiu e incluiPontos

5 respostas
solução!

OLá Samyra, tudo bem?

A função colidiu é definida como uma condição que verifica se dois objetos se sobrepõem em um plano 2D. Já A função incluiPontos é definida como uma ação que adiciona pontos ao placar quando há colisão. A função/function draw é chamada a cada quadro por segundo para atualizar o desenho na tela. Portanto, a função colidiu não precisa ser chamada em draw porque ela só precisa ser verificada quando um objeto se move, enquanto a função incluiPontos precisa ser chamada em draw para mostrar os pontos sendo atualizados na tela, e essa atualização precisa ser constante, além de que não precisamos chamar a função colidiu na function draw em p5.js porque essa função é chamada dentro da função verificaColisao, que por sua vez é chamada em draw.

Espero ter ajudado, qualquer dúvida, estarei à disposição! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Olá!! Adoro boas perguntas!!!!!!!!! então:

"A função/function draw é chamada a cada quadro por segundo para atualizar o desenho na tela.

Portanto, a função colidiu não precisa ser chamada em draw porque ela só precisa ser verificada quando um objeto se move,

enquanto a função incluiPontos precisa ser chamada em draw para mostrar os pontos sendo atualizados na tela, e essa atualização precisa ser constante"

Então Victor, isso se resume a frame, quer dizer, que tem mais movimento, usa draw? Porque pra mim, as raquetes e a bolinha tem muito mais atualização de tela do que o placar. Confesso que fiquei um bocado confuso.

Olá Romeu, tudo bem?

A função draw() é uma função chamada automaticamente a cada quadro por segundo, ou seja, suponhamos que o placar mesmo estando 0x0 sem muitas alterações, é importante que o mesmo seja apresentado a cada frame, mesmo que o placar fique 0x0 por muito tempo, da mesma forma que a vaquinha atravessando as ruas loucamente precisa ser mostrada a cada frame, mas mesmo que não mexemos em nenhuma tecla a mesma precisa está sendo renderizada constantemente, a função colidiu() como exemplificada para a Samyra, ela não é necessária ser chamada a "todo tempo", caso seja o ator simplesmente não se move, pois a cada frame a função é executada e o yAtor = 366 retornando para a posição inicial, tornando o jogo não jogável, caso a função seja executada a cada frame.

Portanto, não se resume a frame no sentido alterações visuais, e sim a necessidade de uma alta execução na função, algumas precisam e outras funções não precisam/podem, ser executadas dessa forma.

Espero ter ajudado a clarear mais a minha explicação para a Samyra, e que ela possa lhe ajudar, adoro sua participação aqui no fórum, meus parabéns!

Um grande abraço e até um próximo tópico!

Amei a explicação! Muito obrigada mesmo.

Oi Victor !!! Demorei mas não esqueci não. Tive que deixar pra um momento insight , para transcrever sua respostar, e observar os pontos, para assimilar melhor .rsss Já percebi a ideia, e andei a pesquisar também. E agradeço a resposta, realmente, como disse a Samyra, ajudou bastante!!! E a medida que o conhecimento se expande, torna mais fácil perceber! E também fico grato pelo elogio, como administrador, sempre trabalhei dando suporte para equipes, e agora que quero tentar uma transição de carreira, ajudar o pessoal na medida do possível, traz muita satisfação!! Mais uma vez obrigado!! E bons estudos pra todos nós!!