# Usa la prueba de colisión más sencilla que se ajuste a la forma

> Elija una representación de colisión que se adapte a su juego, reduzca las comprobaciones de pares innecesarias y diagnostique objetos que atraviesen obstáculos.

- URL: https://oneshotgems.ai/es/topics/game-collision-detection
- Categoría: Para desarrolladores de juegos
- Tipo: Guía
- Actualizado: 5 de octubre de 2026

La detección de colisiones pregunta si los objetos del juego se superponen o se cruzan. La mejor primera representación suele ser más simple que la obra de arte: rectángulos para celdas y plataformas de cuadrícula, círculos para actores redondos o una pequeña colección de formas para un obstáculo irregular. Comience con una pregunta clara (tocar, entrar o cruzar) y elija una prueba que la responda de manera consistente. Las comprobaciones de píxeles perfectos añaden complejidad y rara vez son necesarias para un juego cuyas reglas ya son aproximadas.

## Relaciona la prueba con la regla

Para rectángulos alineados con el eje, compare las extensiones izquierda, derecha, superior e inferior de cada objeto; La superposición se produce cuando los intervalos se cruzan en ambos ejes. Para círculos, compare la distancia al centro con la suma de los radios. Un juego de cuadrícula puede evitar por completo la geometría comprobando si dos actores reclaman la misma celda.

Crea una escena de diagnóstico pequeña con dos formas de colores y muestra sus hitboxes. Mueve cada par para probar el contacto entre bordes, la superposición parcial y el casi contacto sin colisión. Decide si tocarse en los bordes cuenta como colisión y aplica siempre la misma convención para que el movimiento y la puntuación no discrepen.

## Detectar cruces rápidos

Un objeto rápido puede estar en un lado de una pared delgada en una actualización y en el otro lado en la siguiente. Los pasos de simulación fijos más pequeños pueden ayudar, pero no son la única respuesta: pruebe un segmento barrido o un objetivo ampliado cuando el rango de movimiento sea grande en relación con el espesor del obstáculo.

Si hay muchos objetos, descarta primero los pares que no puedan estar cerca entre sí mediante una cuadrícula gruesa o celdas espaciales; después ejecuta las pruebas detalladas en los pares candidatos. Mide antes de añadir esa estructura: con unas pocas decenas de entidades, las comprobaciones directas por pares pueden ser más sencillas de mantener y suficientes.

## Preguntas

**¿Los hitboxes deben coincidir con los contornos de los sprites?** Por lo general, no. Un rectángulo o círculo algo más permisivo puede hacer que los controles resulten más justos. Muestra los hitboxes durante el desarrollo y ajústalos según la regla y las expectativas del jugador.

**¿Puede Canvas decirme si dos sprites chocan?** Canvas proporciona pruebas de ruta como isPointInPath() para comparar un punto con una ruta dibujada, pero no define reglas generales de colisión entre objetos del juego. Mantenga la geometría de simulación explícita e independiente del dibujo.

## Sigue tu curiosidad

- [Usa delta time para evitar movimientos bruscos](https://oneshotgems.ai/es/topics/delta-time-in-games): Aplique el tiempo transcurrido al movimiento del juego, elija una política de recuperación segura y pruebe el movimiento con diferentes frecuencias de actualización y después de las paradas.
- [Cree un bucle de juego de navegador confiable](https://oneshotgems.ai/es/topics/browser-game-loop): Estructura las actualizaciones de juegos de navegador y dibuja cuadros de animación sin vincular la velocidad de simulación a la frecuencia de actualización de la pantalla del jugador.
- [Utilice un paso de tiempo fijo para la física del juego](https://oneshotgems.ai/es/topics/fixed-timestep-game-physics): Separe las actualizaciones físicas del renderizado con un paso de simulación fijo, trabajo de recuperación limitado y pruebas de pérdida y colisión.

## Más información

- [MDN: Canvas isPointInPath()](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/isPointInPath)

---
Página canónica: https://oneshotgems.ai/es/topics/game-collision-detection
