Polygon tmpPoly = new Polygon(); Polygon intersectionPoly = new Polygon(); EarClippingTriangulator triangulator = new EarClippingTriangulator();
Polygon tmpPoly = new Polygon(); Polygon intersectionPoly = new Polygon(); EarClippingTriangulator triangulator = new EarClippingTriangulator();
// this will calculate the triangles given your vertices short triangles[] = new EarClippingTriangulator().computeTriangles(vertices1).toArray(); // use your texture region PolygonRegion polygonRegion = new PolygonRegion(textureRegion, vertices1, triangles);
/** * Constructor. Note that vertices must be in a clockwise order for * performance and accuracy. * * @param vertices * All points in x,y pairs. E.g. x1,y1,x2,y2,etc. */ public Polygon(float[] vertices) { super(); this.vertices = vertices; triangulator = new EarClippingTriangulator(); getNumberOfSides(); }
PolygonShape shape = (PolygonShape) fixture.getShape(); int vertexCount = shape.getVertexCount(); float[] vertices = new float[vertexCount * 2]; for (int k = 0; k < vertexCount; k++) { shape.getVertex(k, mTmp); mTmp.rotate(body.getAngle()* MathUtils.radiansToDegrees); mTmp.add(bodyPos); vertices[k * 2] = mTmp.x * PIXELS_PER_METER; vertices[k * 2 + 1] = mTmp.y * PIXELS_PER_METER; } short triangles[] = new EarClippingTriangulator() .computeTriangles(vertices) .toArray(); PolygonRegion region = new PolygonRegion( textureRegion, vertices, triangles);
import com.badlogic.gdx.graphics.Pixmap; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.PolygonRegion; import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.math.EarClippingTriangulator; import com.badlogic.gdx.math.Polygon; import com.mygdx.game.MyGame; public class WalkZone extends Polygon { private PolygonRegion polygonRegion = null; public WalkZone(float[] vertices) { super(vertices); if (MyGame.DEBUG) { Pixmap pix = new Pixmap(1, 1, Pixmap.Format.RGBA8888); pix.setColor(0x00FF00AA); pix.fill(); polygonRegion = new PolygonRegion(new TextureRegion(new Texture(pix)), vertices, new EarClippingTriangulator().computeTriangles(vertices).toArray()); } } public PolygonRegion getPolygonRegion() { return polygonRegion; } }
EarClippingTriangulator ear = new EarClippingTriangulator();
Polygon tmpPoly = new Polygon(); Polygon intersectionPoly = new Polygon(); EarClippingTriangulator triangulator = new EarClippingTriangulator();