0
J'essaie de créer un petit défilement latéral pour Android avec LibGdx Tiled et Box2D. J'utilise Object Layer pour obtenir la collision entre Player et le Monde. Cela fonctionne très bien si j'utilise Rectangles pour les couches d'objets. Mais lorsque j'essaie d'utiliser des Polygones, la collision ne fonctionne pas. Qu'est-ce que je fais de mal? (Sry pour fautes d'orthographe)LibGdX Collision de Box2d en mosaïque avec l'objet de carte Polygon
Voici mon code:
for(MapObject object : map.getLayers().get(5).getObjects()){
if(object instanceof RectangleMapObject) {
Rectangle rect = ((RectangleMapObject) object).getRectangle();
bdef.type = BodyDef.BodyType.StaticBody;
bdef.position.set((rect.getX() + rect.getWidth()/2)/AoF.PPM, (rect.getY() + rect.getHeight()/2)/AoF.PPM);
body = world.createBody(bdef);
shape.setAsBox(rect.getWidth()/2/AoF.PPM, rect.getHeight()/2/AoF.PPM);
fdef.shape = shape;
body.createFixture(fdef);
}
if(object instanceof PolygonMapObject){
float[] vertices = ((PolygonMapObject) object).getPolygon().getTransformedVertices();
float[] worldVertices = new float[vertices.length];
for (int i = 0; i < vertices.length; ++i) {
worldVertices[i] = vertices[i]/AoF.PPM;
}
shape.set(worldVertices);
bdef.type = BodyDef.BodyType.StaticBody;
body = world.createBody(bdef);
fdef.shape = shape;
body.createFixture(fdef);
}