He hecho un juego usando p5.js. El jugador es el cuadrado blanco y las paredes son azules. He creado una función de detección de colisiones, pero es bastante irregular. A veces funciona bien, pero otras veces hay una pequeña distancia entre el jugador y la pared. ¿Puedes decirme qué está pasando mal? ¡Cualquier ayuda sería muy apreciada! El código está abajo:
function collide(a, b, dx, dy){ var newx = ax + dx * playerSpeed; var newy = ay + dy * playerSpeed; if (newx < bx + b.size && newx + a.size > bx && newy < by + b.size && newy + a.size > by){ return true; } return false; }Para obtener el código completo, vaya a https://replit.com/@TonyWu4/Project
Si desea ejemplos de lo que está sucediendo, los enlaces a las capturas de pantalla se encuentran a continuación.