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

[Dúvida] Os parametros do ator(vaquinha), são correspondentes ao retangulo, porque fazer funcao "collideRectCircle". Não seria o certo "collideRectRect"?

// codigo do ator let xAtor = 100; let yAtor = 366; let cAtor = 30; let aAtor = 30; let vYAtor = 1; let colisao = false;

function mostraAtor(){ image(imagemAtor,xAtor,yAtor,cAtor,aAtor); }

function movimentaAtor(){ if (keyIsDown(UP_ARROW)) yAtor = yAtor - vYAtor; if (keyIsDown(DOWN_ARROW)) yAtor = yAtor + vYAtor; }

function colisaoAtor(){ //collideRectCircle(x1, y1, width1, height1, cx, cy, diameter) for (let i = 0; i < imagemCarros.length; i = i +1){ colisao = collideRectRect(xCarros[i],yCarros[i],cCarros[i],aCarros[i],xAtor,yAtor,cAtor,aAtor); if (colisao){ colidiu(); } } }

function colidiu(){ yAtor = 366 }

Na funcão "mostraAtor", tem os parametro do ator, que são referentes ao retangulo, mas o professor usa o codigo de colisao de retangulo com circulo(collideRectCircle), eu fiz esse codigo, e acabei encontrando problemas na colisao com os carros, quando alterei para colisão de retangulo com retangulo(colideRectRect), funcionou melhor.

1 resposta
solução!

oi Marlon!! Já postei isso uma vez ou outra, e vou postar pra vc tbm, e assim tire suas conclusões. Conforme vc começa perceber melhor as coisas, vai descobrindo outras, kkk, já havia percebido isso e também e fiz alguns testes.. Em resumo, eu coloquei um pequeno ponto no eixo x,y da posição do ator, para saber onde seria essa colisão. E confirmei exatamente isso que vc também percebeu. Nas imagens, vc vai perceber que a colisão acontece exatamente como um retângulo, tipo como nas raquetes do Pong, em que o eixo y é acima do retângulo e o eixo x fica a esquerda do retângulo. Repare que o pequeno ponto que coloquei, que eu acreditava ficar no centro da imagem, fica na orelha da vaca, exatamente como num retângulo, por que usou circulo? boa pergunta, acho que pela experiencia, ou talvez, pra não complicar muito, certas coisas logo no início.. Veja as imagens!!. Deixo o meu projeto pra quem quiser "brincar e perceber mais e melhor!!" Os comandos estão no código do ator, logo no inicio e estão comentados, enjoy!

https://editor.p5js.org/oromeu/sketches/31TLaRxtG

I