Após notar que a colisão estava ficando "bugada", percebi que era porque a imagem começava a ser "feita" a partir do eixo que fica na esquerda superior dela, então o ponto de colisão era exatamente lá, e quando passávamos o diametro, ele pegava a partir daquele ponto, fazendo com que a maior parte que fica embaixo, fosse conseguida ser atingida sem voltar o y do Ator. Para isso, a minha ideia foi criar um circulo que ficasse exatamente no centro da imagem e que fosse transparente, para não atrapalhar a visibilidade. Desta forma, fiz o seguinte código:
let xColisao = xPersonagem + comprimentoPersonagem/2;
let yColisao = yPersonagem + alturaPersonagem/2
//Função para mostrar o personagem
function mostraPersonagem(){
image(imagemPersonagem,xPersonagem,yPersonagem, comprimentoPersonagem, alturaPersonagem);
fill('rgba(0,255,0, 0)')
circle(xColisao,yColisao,25)
}
Passei os parametros do circulo para o collideRectCircle e pronto :), o projeto não está finalizado ainda, mas está aqui o código: https://editor.p5js.org/GabrielFMontoni/full/UGPnvtkOr