3
respostas

[Dúvida] MEU ATOR/JOGADOR CONTINUA VOLTANDO PARA POSIÇÃO INICIAL ANTES DE COLIDIR COM OS CARROS

Meu projeto foi um pouco modificado em questão de sprites e resolução mais foi seguindo a mesmo metodologia ensinada na video aula entretanto quando a aplicação é executado o meu jogador antes de colidir com o carro volta para a posição inicial

aqui esta o link do meu projeto: https://editor.p5js.org/brunno.dp.martins/sketches/NWM_a95VX

3 respostas

Boa tarde Brunno. Não sei se vou conseguir te ajudar, pois também sou iniciante no curso, mas o que eu pude perceber foi que parece estar havendo colisão com os carros, não consegui identificar o motivo, mas da pra visualizar que quando qualquer um dos carros passa acima do seu ator(jogador), ele retorna pra posição inicial. Fiquei pensando que talvez sejam as imagens que você atribuiu aos carros ou ao seu ator, mas a verdade é que eu não sei também. Tenta utilizar as imagens que foram disponibilizadas pelo instrutor pra ver se o problema é mesmo esse.

valeu pela dica, porém o problema não é nas imagens pois todas estão com os valores corretos e percebi depois que você falou que quando um carro passa por cima do jogador ele realiza a colisão e volta para posição inicial, tentei modificar o diâmetro da colisão no collideRectCircle, mas foi sem sucesso, realmente estou tentando entender o que esta ocorrendo

Boa Tarde; também estou iniciando no curso, porém para aprender ainda mais sempre dou uma olhadinha no fórum, algo que pode estar ocorrendo, nas medidas do jogador, você tem um retângulo, (altura e comprimento), porem a função que esta usando para colisão (Nas variáveis que você informou está de diâmetro). é entre um circulo(ator) e retângulo (carros). Tente identificar se a imagem da galinha é redonda mesmo, caso seja um retângulo, voce precisa alterar a funcão para colisao rect rect.

let xJogador = 120; let yJogador = 435; let comprimentoDoJogador = 65; let alturaDoJogador = 45;

function verificarColisão(){ //collideRectCircle(x1, y1, width1, height1, cx, cy, diameter) for (let i = 0; i < imgaensDosCarros.length; i = i + 1){ colisao = collideRectCircle(xCarros[i], yCarros[i], comprimentoDosCarros, alturaDosCarros, xJogador, yJogador,** 15**)

espero ter conseguido ajudar.