0
J'ai deux objets, l'un statique et l'autre dynamique. Les montages des deux ont été créés à partir de ChainShape
. Le problème est qu'ils passent l'un par l'autre.Les objets se croisent
Screenshot:
J'ai deux objets, l'un statique et l'autre dynamique. Les montages des deux ont été créés à partir de ChainShape
. Le problème est qu'ils passent l'un par l'autre.Les objets se croisent
Screenshot:
Deux ChainShapes DonT entrent en collision les uns avec les autres faire l'un d'eux un PolygonShape. Cela fonctionne pour moi:
BodyDef triangleDef = new BodyDef();
triangleDef.type = BodyDef.BodyType.DynamicBody;
triangleDef.position.set(0, 0);
Body triangleBody = this.world.createBody(triangleDef);
PolygonShape triangleShape = new PolygonShape();
triangleShape.set(new float[]{ 0, 0.5f, -0.5f, -0.5f, 0.5f, -0.5f });
triangleBody.createFixture(triangleShape, 1);
triangleShape.dispose();
BodyDef groundDef = new BodyDef();
triangleDef.position.set(0, 0);
Body groundBody = this.world.createBody(groundDef);
ChainShape groundShape = new ChainShape();
groundShape.createLoop(new float[]{ -10, 10, -10, -10, 10, -10, 10, 10 });
groundBody.createFixture(groundShape, 1);
groundShape.dispose();
Les deux corps auront plus de 8 sommets, donc je ne peux pas utiliser juste la forme de polygone. As-tu d'autres idées? – RedLipsAlwaysLie
Vous pouvez diviser la forme en plusieurs polygones et les ajouter tous au même corps. – Tejay
J'ai compris. Merci pour les réponses – RedLipsAlwaysLie