Example usage for com.badlogic.gdx.graphics.glutils ShapeRenderer setColor

List of usage examples for com.badlogic.gdx.graphics.glutils ShapeRenderer setColor

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics.glutils ShapeRenderer setColor.

Prototype

public void setColor(Color color) 

Source Link

Document

Sets the color to be used by the next shapes drawn.

Usage

From source file:cb.pong.model.Board.java

private void renderBlocks() {
    ShapeRenderer shapeRenderer = new ShapeRenderer();
    shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
    shapeRenderer.setColor(Color.BLUE);
    for (int x = 0; x < width; x++) {
        for (int y = 0; y < height; y++) {
            if (blocks[x][y]) {
                shapeRenderer.rect(x * 20, y * 20, 18, 18);
            }/*from  w  ww . j  a  va2  s  .c o m*/
        }
    }
    shapeRenderer.end();
}

From source file:com.bladecoder.engine.model.Scene.java

License:Apache License

public void drawBBoxLines(ShapeRenderer renderer) {
    // renderer.begin(ShapeType.Rectangle);
    renderer.begin(ShapeType.Line);

    for (BaseActor a : actors.values()) {
        Polygon p = a.getBBox();/*from   w w w.  ja v  a2s . c  om*/

        if (p == null) {
            EngineLogger.error("ERROR DRAWING BBOX FOR: " + a.getId());
        }

        if (a instanceof ObstacleActor) {
            renderer.setColor(OBSTACLE_COLOR);
            renderer.polygon(p.getTransformedVertices());
        } else if (a instanceof AnchorActor) {
            renderer.setColor(Scene.ANCHOR_COLOR);
            renderer.line(p.getX() - Scene.ANCHOR_RADIUS, p.getY(), p.getX() + Scene.ANCHOR_RADIUS, p.getY());
            renderer.line(p.getX(), p.getY() - Scene.ANCHOR_RADIUS, p.getX(), p.getY() + Scene.ANCHOR_RADIUS);
        } else {
            renderer.setColor(ACTOR_BBOX_COLOR);
            renderer.polygon(p.getTransformedVertices());
        }

        // Rectangle r = a.getBBox().getBoundingRectangle();
        // renderer.rect(r.getX(), r.getY(), r.getWidth(), r.getHeight());
    }

    if (polygonalNavGraph != null) {
        renderer.setColor(WALKZONE_COLOR);
        renderer.polygon(polygonalNavGraph.getWalkZone().getTransformedVertices());

        // DRAW LINEs OF SIGHT
        renderer.setColor(Color.WHITE);
        ArrayList<NavNodePolygonal> nodes = polygonalNavGraph.getGraphNodes();
        for (NavNodePolygonal n : nodes) {
            for (NavNodePolygonal n2 : n.neighbors) {
                renderer.line(n.x, n.y, n2.x, n2.y);
            }
        }
    }

    renderer.end();
}

From source file:com.company.minery.utils.spine.SkeletonRendererDebug.java

License:Open Source License

public void draw(Skeleton skeleton) {
    float skeletonX = skeleton.getX();
    float skeletonY = skeleton.getY();

    Gdx.gl.glEnable(GL20.GL_BLEND);/*  w w  w.j  av  a  2  s  .  co m*/
    int srcFunc = premultipliedAlpha ? GL20.GL_ONE : GL20.GL_SRC_ALPHA;
    Gdx.gl.glBlendFunc(srcFunc, GL20.GL_ONE_MINUS_SRC_ALPHA);

    ShapeRenderer shapes = this.shapes;

    Array<Bone> bones = skeleton.getBones();
    if (drawBones) {
        shapes.setColor(boneLineColor);
        shapes.begin(ShapeType.Filled);
        for (int i = 0, n = bones.size; i < n; i++) {
            Bone bone = bones.get(i);
            if (bone.parent == null)
                continue;
            float x = skeletonX + bone.data.length * bone.m00 + bone.worldX;
            float y = skeletonY + bone.data.length * bone.m10 + bone.worldY;
            shapes.rectLine(skeletonX + bone.worldX, skeletonY + bone.worldY, x, y, boneWidth * scale);
        }
        shapes.end();
        shapes.begin(ShapeType.Line);
        shapes.x(skeletonX, skeletonY, 4 * scale);
    } else
        shapes.begin(ShapeType.Line);

    if (drawRegionAttachments) {
        shapes.setColor(attachmentLineColor);
        Array<Slot> slots = skeleton.getSlots();
        for (int i = 0, n = slots.size; i < n; i++) {
            Slot slot = slots.get(i);
            Attachment attachment = slot.attachment;
            if (attachment instanceof RegionAttachment) {
                RegionAttachment regionAttachment = (RegionAttachment) attachment;
                regionAttachment.updateWorldVertices(slot, false);
                float[] vertices = regionAttachment.getWorldVertices();
                shapes.line(vertices[X1], vertices[Y1], vertices[X2], vertices[Y2]);
                shapes.line(vertices[X2], vertices[Y2], vertices[X3], vertices[Y3]);
                shapes.line(vertices[X3], vertices[Y3], vertices[X4], vertices[Y4]);
                shapes.line(vertices[X4], vertices[Y4], vertices[X1], vertices[Y1]);
            }
        }
    }

    if (drawMeshHull || drawMeshTriangles) {
        Array<Slot> slots = skeleton.getSlots();
        for (int i = 0, n = slots.size; i < n; i++) {
            Slot slot = slots.get(i);
            Attachment attachment = slot.attachment;
            float[] vertices = null;
            short[] triangles = null;
            int hullLength = 0;
            if (attachment instanceof MeshAttachment) {
                MeshAttachment mesh = (MeshAttachment) attachment;
                mesh.updateWorldVertices(slot, false);
                vertices = mesh.getWorldVertices();
                triangles = mesh.getTriangles();
                hullLength = mesh.getHullLength();
            } else if (attachment instanceof SkinnedMeshAttachment) {
                SkinnedMeshAttachment mesh = (SkinnedMeshAttachment) attachment;
                mesh.updateWorldVertices(slot, false);
                vertices = mesh.getWorldVertices();
                triangles = mesh.getTriangles();
                hullLength = mesh.getHullLength();
            }
            if (vertices == null || triangles == null)
                continue;
            if (drawMeshTriangles) {
                shapes.setColor(triangleLineColor);
                for (int ii = 0, nn = triangles.length; ii < nn; ii += 3) {
                    int v1 = triangles[ii] * 5, v2 = triangles[ii + 1] * 5, v3 = triangles[ii + 2] * 5;
                    shapes.triangle(vertices[v1], vertices[v1 + 1], //
                            vertices[v2], vertices[v2 + 1], //
                            vertices[v3], vertices[v3 + 1] //
                    );
                }
            }
            if (drawMeshHull && hullLength > 0) {
                shapes.setColor(attachmentLineColor);
                hullLength = hullLength / 2 * 5;
                float lastX = vertices[hullLength - 5], lastY = vertices[hullLength - 4];
                for (int ii = 0, nn = hullLength; ii < nn; ii += 5) {
                    float x = vertices[ii], y = vertices[ii + 1];
                    shapes.line(x, y, lastX, lastY);
                    lastX = x;
                    lastY = y;
                }
            }
        }
    }

    if (drawBoundingBoxes) {
        SkeletonBounds bounds = this.bounds;
        bounds.update(skeleton, true);
        shapes.setColor(aabbColor);
        shapes.rect(bounds.getMinX(), bounds.getMinY(), bounds.getWidth(), bounds.getHeight());
        shapes.setColor(boundingBoxColor);
        Array<FloatArray> polygons = bounds.getPolygons();
        for (int i = 0, n = polygons.size; i < n; i++) {
            FloatArray polygon = polygons.get(i);
            shapes.polygon(polygon.items, 0, polygon.size);
        }
    }

    shapes.end();
    shapes.begin(ShapeType.Filled);

    if (drawBones) {
        shapes.setColor(boneOriginColor);
        for (int i = 0, n = bones.size; i < n; i++) {
            Bone bone = bones.get(i);
            shapes.setColor(Color.GREEN);
            shapes.circle(skeletonX + bone.worldX, skeletonY + bone.worldY, 3 * scale, 8);
        }
    }

    shapes.end();
}

From source file:com.esotericsoftware.spine.SkeletonViewer.java

License:Open Source License

public void render() {
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    float delta = Gdx.graphics.getDeltaTime();

    if (skeleton != null) {
        if (reloadTimer <= 0) {
            lastModifiedCheck -= delta;/*from   w  w w .j a v  a  2s  .  co m*/
            if (lastModifiedCheck < 0) {
                lastModifiedCheck = checkModifiedInterval;
                long time = skeletonFile.lastModified();
                if (time != 0 && lastModified != time)
                    reloadTimer = reloadDelay;
            }
        } else {
            reloadTimer -= delta;
            if (reloadTimer <= 0)
                loadSkeleton(skeletonFile, true);
        }

        state.getData().setDefaultMix(ui.mixSlider.getValue());
        renderer.setPremultipliedAlpha(ui.premultipliedCheckbox.isChecked());

        delta = Math.min(delta, 0.032f) * ui.speedSlider.getValue();
        skeleton.update(delta);
        skeleton.setFlip(ui.flipXCheckbox.isChecked(), ui.flipYCheckbox.isChecked());
        if (!ui.pauseButton.isChecked()) {
            state.update(delta);
            state.apply(skeleton);
        }
        skeleton.setPosition(skeletonX, skeletonY);
        // skeleton.setPosition(0, 0);
        // skeleton.getRootBone().setX(skeletonX);
        // skeleton.getRootBone().setY(skeletonY);
        skeleton.updateWorldTransform();

        batch.begin();
        renderer.draw(batch, skeleton);
        batch.end();

        debugRenderer.setBones(ui.debugBonesCheckbox.isChecked());
        debugRenderer.setRegionAttachments(ui.debugRegionsCheckbox.isChecked());
        debugRenderer.setBoundingBoxes(ui.debugBoundingBoxesCheckbox.isChecked());
        debugRenderer.setMeshHull(ui.debugMeshHullCheckbox.isChecked());
        debugRenderer.setMeshTriangles(ui.debugMeshTrianglesCheckbox.isChecked());
        debugRenderer.draw(skeleton);
    }

    ui.stage.act();
    ui.stage.draw();

    // Draw indicator for timeline position.
    if (state != null) {
        ShapeRenderer shapes = debugRenderer.getShapeRenderer();
        TrackEntry entry = state.getCurrent(0);
        if (entry != null) {
            float percent = entry.getTime() / entry.getEndTime();
            if (entry.getLoop())
                percent %= 1;
            float x = ui.window.getRight() + (Gdx.graphics.getWidth() - ui.window.getRight()) * percent;
            shapes.setColor(Color.CYAN);
            shapes.begin(ShapeType.Line);
            shapes.line(x, 0, x, 20);
            shapes.end();
        }
    }
}

From source file:com.evoluzion.Organismo.java

License:Open Source License

public void verMarcado(ShapeRenderer sr, SpriteBatch sb, BitmapFont f) {
    if (marcado == -1) {
        sr.begin(ShapeType.Rectangle);

        sr.setColor(Color.GREEN);
        sr.rect(borde.x - 2, borde.y - 2, borde.width + 4, borde.height + 4);
        sr.end();/*from   ww  w . ja  v a 2  s  .  co  m*/

        sb.begin();
        f.setColor(Color.GREEN);
        f.draw(sb, nombre, posicion.x + ancho + 5, posicion.y + (alto) + 5);
        f.draw(sb, "" + format.format(energia), posicion.x + ancho + 5, posicion.y);
        sb.end();

    }
}

From source file:com.evoluzion.Organismo.java

License:Open Source License

public void verBorde(ShapeRenderer sr) {

    sr.begin(ShapeType.Rectangle);

    sr.setColor(Color.CYAN);
    sr.rect(borde.x, borde.y, borde.width, borde.height);
    sr.end();//w w  w.j  a  va  2 s  .c  om

}

From source file:com.evoluzion.Qenergia.java

License:Open Source License

public void dibujar(ShapeRenderer sr) {

    if (visible == true) {
        sr.setColor(Color.RED);

        sr.filledCircle(posicion.x, posicion.y, ancho);

    }//from   www .j  av a 2 s. c o m
}

From source file:com.github.mkjensen.breakall.actor.Ball.java

License:Apache License

@Override
protected void draw(ShapeRenderer renderer) {
    renderer.begin(ShapeType.Filled);/*w  w  w .  ja v  a 2  s . c o m*/
    renderer.setColor(Color.BLUE);
    renderer.circle(getX(), getY(), getRadius(), CIRCLE_SEGMENTS);
    renderer.end();
}

From source file:com.github.mkjensen.breakall.actor.Paddle.java

License:Apache License

@Override
protected void draw(ShapeRenderer renderer) {
    renderer.begin(ShapeType.Filled);//from  www  .j a v a2 s. co m
    renderer.setColor(Color.RED);
    renderer.rect(getX() - getWidth() / 2, getY() - getHeight() / 2, getWidth(), getHeight());
    renderer.end();
}

From source file:com.github.mkjensen.breakall.actor.Wall.java

License:Apache License

@Override
protected void draw(ShapeRenderer renderer) {
    renderer.begin(ShapeType.Filled);// ww w  .j a v  a  2  s . c o m
    renderer.setColor(Color.YELLOW);
    renderer.rect(getX() - getWidth() / 2, getY() - getHeight() / 2, getWidth(), getHeight());
    renderer.end();
}