Box2d Comprobar Collision / Overlaping en cualquier momento

¿Cómo se puede comprobar si 2 cuerpos (con 1 Lámpara ambos) chocan (se superponen)?

Sé sobre el ContactListener que dispara un método cuando comienzan a colisionar y cuando se detienen. Pero, ¿hay alguna manera de comprobarlo en un momento dado? Me gusta:

if(body1.overlaps(body2))... 

Detalles adicionales, uno de ellos es sensor. Esto está en libgdx.

2 Solutions collect form web for “Box2d Comprobar Collision / Overlaping en cualquier momento”

Puedes aplicar setContactlistner a tu objeto mundial como

 world.setContactListener(new ContactListener() { @Override public void beginContact(Contact contact) { if(contact.getfixtureA.getBody().getUserData()=="body1"&& contact.getfixtureB.getBody().getUserData()=="body2") Colliding = true; System.out.println("Contact detected"); } @Override public void endContact(Contact contact) { Colliding = false; System.out.println("Contact removed"); } @Override public void postSolve(Contact arg0, ContactImpulse arg1) { // TODO Auto-generated method stub } @Override public void preSolve(Contact arg0, Manifold arg1) { // TODO Auto-generated method stub } }); 

El método beginContact() siempre llamará cada vez que un cuerpo se superponga o toque otro body.You también puede obtener la información sobre el cuerpo por objeto de contact como contact.getFixtureA().getBody().getUserData(); Si desea hacer algo con ellos. Y cuando se separan de cada otro método EndContact() se llamará.

Espero que esto ayude.

Sólo comprueba si el contacto que estás buscando está en la lista de contactos:

 for (ContactEdge ce = body1.getContactList(); ce != null; ce = ce.next) { if (ce.other == body2 && ce.contact.isTouching()) { // Do what you want here break; } } 
  • Mi anuncio de AdMob no está dibujando pero ¿está ahí? (LibGDX Admob 6.4.1)
  • Scale2d escala de botón con libgdx
  • ¿Cómo mostrar el texto con un fondo de dos colores?
  • Animación en libgdx
  • Cargando la textura en libgdx android usando el archivo en res?
  • Error: Android Pre Dex: Android SDK no está especificado
  • (Java LibGDX) ¿Cómo puedo cambiar el tamaño de mis texturas en LibGDX?
  • Java.lang.NoClassDefFoundError (libgdx)
  • LibGDX no ejecuta el método render ()
  • Cómo conseguir Libgdx Game en Android Studio para ejecutarse en un dispositivo iOS?
  • Procesamiento lento de lotes de modelos en libGDX
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.