Example usage for com.badlogic.gdx.graphics.g2d PolygonSprite PolygonSprite

List of usage examples for com.badlogic.gdx.graphics.g2d PolygonSprite PolygonSprite

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics.g2d PolygonSprite PolygonSprite.

Prototype

public PolygonSprite(PolygonSprite sprite) 

Source Link

Document

Creates a sprite that is a copy in every way of the specified sprite.

Usage

From source file:dk.gruppeseks.bodtrd.engine.Game.java

private void drawFoV(float[] shape) {
    EarClippingTriangulator triangulator = new EarClippingTriangulator();
    ShortArray triangleIndices = triangulator.computeTriangles(shape);
    PolygonRegion polyReg = new PolygonRegion(_textureRegion, shape, triangleIndices.toArray());
    PolygonSprite polySprite = new PolygonSprite(polyReg);

    _polyBatch.begin();//from  w ww. j  av  a 2 s.co  m
    polySprite.draw(_polyBatch);
    _polyBatch.end();

    _shapeRenderer.setProjectionMatrix(_gameCamera.combined);
    _shapeRenderer.begin(ShapeType.Line);
    _shapeRenderer.setColor(Color.BROWN);
    _shapeRenderer.polygon(shape);
    _shapeRenderer.end();

}

From source file:es.eucm.ead.editor.utils.TexturedShapeEditor.java

License:Open Source License

@Override
public void create() {
    super.create();

    executor = new AsyncExecutor(1);

    // create a string of generally-overlapping polygons, will draw in
    // blue//from  w ww  . j a  va  2s  .co m
    GeoTester.randomPolys(3, 40, 80, new Vector2(100, 300), blue);
    float s = 10;
    Polygon p0 = new Polygon(new float[] {
            // north-west, low, north-east
            0, 3 * s, 0, 2 * s, 2 * s, 0, 3 * s, 0, 4.5f * s, 2 * s, 6 * s, 0, 7 * s, 0, 9 * s, 2 * s, 9 * s,
            3 * s,
            // north-east, high, north-west
            8 * s, 3 * s, 6.5f * s, 1 * s, 5 * s, 3 * s, 4 * s, 3 * s, 2.5f * s, s, 1 * s, 3 * s });
    blue.add(p0);
    // merge them into a single polygon, will draw in red
    for (Polygon bp : blue) {
        GeometryUtils.merge(geo, bp);
    }
    Geometry collapsed = GeometryUtils.collapse(geo);
    Polygon p = GeometryUtils.jtsCoordsToGdx(collapsed.getCoordinates());
    red.add(p);

    triangles = GeometryUtils.triangulate(collapsed);
    Gdx.app.error("GeoTester", "ready to display triangles worth " + triangles.length + " vertices");

    // use the polygon to clip a randomly-generated texture
    textureSolid = new Texture(GeoTester.randomPixmap(100, 100, null), false);

    PolygonRegion polyReg = new PolygonRegion(new TextureRegion(textureSolid), p.getVertices(), triangles);
    poly = new PolygonSprite(polyReg);
    poly.setOrigin(p.getVertices()[0], p.getVertices()[1]);
    polyBatch = new PolygonSpriteBatch();

    // prepare rendering aids
    shapeRenderer = new ShapeRenderer();

    Gdx.input.setInputProcessor(this);
}