Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

146
Vistas
Js lona; cómo verificar la colisión entre dos círculos

tengo un objeto con coordenadas X; Y de un círculo verde, radio const = 5. nombre "Comida". 50 objetos con colocación aleatoria alrededor del lienzo.

Tengo un objeto con coordenadas X; Y de un círculo rojo, radio const = 8. nombre "jugador".

Tengo una matriz X;Y de coordenadas que va x,y 50 veces (100 cuerdas), nombre "allFood". con todos los objetos de "comida"

Necesito verificar si hay colisión entre la comida y el jugador en el lienzo y agregar el marcador. Hice una pieza de código viable:

 for (let i = 0; i < 100; i=i+2){ if ((player.x == allFood[i]) && player.y ==(allFood[i+1])){ scoreboard=scoreboard+1 score.innerHTML = scoreboard } }

Pero solo verifica si el centro del círculo del jugador y el centro del círculo de la comida son precisos en el mismo píxel, lo cual es muy molesto. ¿Alguien podría ayudar a mejorar el código para que funcione cuando ambos radios chocan? No sé de ninguna manera, excepto 160 ifs verificando cada píxel.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Si el centro del círculo del jugador está a menos de (radio 5 + radio 8) = 13 unidades del centro de un círculo de comida, están chocando. Usa Pitágoras para calcular la distancia.

 for (let i = 0; i < 100; i=i+2){ let distance = Math.sqrt(Math.pow(player.x - allFood[i], 2) + Math.pow(player.y - allFood[i + 1], 2)) if (distance <= 13) { scoreboard=scoreboard+1 score.innerHTML = scoreboard } }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda