Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

145
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda