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

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

Introduction

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

Prototype

public void curve(float x1, float y1, float cx1, float cy1, float cx2, float cy2, float x2, float y2,
        int segments) 

Source Link

Document

Draws a curve using ShapeType#Line .

Usage

From source file:com.hindelid.ld.thirtyfour.Fish.java

License:Apache License

public void render(ShapeRenderer aShapeRenderer) {
    aShapeRenderer.circle(mPos.x, mPos.y, mRadus, 30); // Body
    aShapeRenderer.circle(mPos.x - 0.25f, mPos.y + 0.15f, 0.06f, 30); // Eye
    aShapeRenderer.line(mPos.x + mTailOffset.x, mPos.y + mTailOffset.y, mPos.x + 1f, mPos.y - 0.4f); // \
    aShapeRenderer.line(mPos.x + mTailOffset.x, mPos.y - mTailOffset.y, mPos.x + 1f, mPos.y + 0.4f); // /
    aShapeRenderer.line(mPos.x + 1f, mPos.y - 0.4f, mPos.x + 1f, mPos.y + 0.4f); // |
    aShapeRenderer.line(mPos.x - mLampOffset.x, mPos.y + mLampOffset.y, mPos.x - mLampOffset.x * 2f,
            mPos.y + mLampOffset.y * 2f);
    aShapeRenderer.line(mPos.x - mLampOffset.x * 3.3f, mPos.y + mLampOffset.y, mPos.x - mLampOffset.x * 2f,
            mPos.y + mLampOffset.y * 2f);
    aShapeRenderer.circle(mPos.x - mLampOffset.x * 3.3f, mPos.y + mLampOffset.y - 0.08f, 0.08f, 30);

    aShapeRenderer.curve(mPos.x - mTailOffset.x, mPos.y - mTailOffset.y, mPos.x - mTailOffset.x,
            mPos.y - mTailOffset.y * 1.6f, mPos.x, mPos.y - mTailOffset.y * 1.5f, mPos.x - mTailOffset.x / 2f,
            mPos.y - mTailOffset.y / 2f, 30);
    //        aShapeRenderer.rect(mBoundingBox.x, mBoundingBox.y, mBoundingBox.width, mBoundingBox.height);
}

From source file:com.hindelid.ld.thirtyfour.Octopus.java

License:Apache License

public void render(ShapeRenderer aShapeRenderer) {
    aShapeRenderer.curve(mPos.x, mPos.y, mPos.x + 0.5f, mPos.y + 1f, mPos.x + 0.5f, mPos.y + 1f, mPos.x + 1f,
            mPos.y, 30);/*from ww  w  .  j  ava  2  s .com*/
    aShapeRenderer.line(mPos.x, mPos.y, mPos.x + 1f, mPos.y);
    aShapeRenderer.triangle( // Left eye
            mPos.x + 0.3f, mPos.y + 0.4f, mPos.x + 0.35f, mPos.y + 0.45f, mPos.x + 0.45f, mPos.y + 0.32f);
    aShapeRenderer.triangle( // Right eye
            mPos.x + 0.7f, mPos.y + 0.4f, mPos.x + 0.65f, mPos.y + 0.45f, mPos.x + 0.55f, mPos.y + 0.32f);
    aShapeRenderer.line(mPos.x + 0.1f, mPos.y, mPos.x - 0.1f, mPos.y - 0.6f);
    aShapeRenderer.line(mPos.x + 0.4f, mPos.y, mPos.x + 0.35f, mPos.y - 0.6f);
    aShapeRenderer.line(mPos.x + 0.6f, mPos.y, mPos.x + 0.65f, mPos.y - 0.6f);
    aShapeRenderer.line(mPos.x + 0.9f, mPos.y, mPos.x + 1.1f, mPos.y - 0.6f);
}

From source file:pl.kotcrab.jdialogue.editor.components.ConnectionRenderer.java

License:Open Source License

public int renderLines(ShapeRenderer shapeRenderer, DComponent comp, boolean ignoreInvisible) {
    rendered = 0;//from   w  w  w . ja  v  a 2 s . c  om

    if (ignoreInvisible == false && comp instanceof RelayComponent) {
        if ((boolean) comp.getTableModel().data[0][1] == true)
            return rendered;
    }

    Connector[] outputs = comp.getOutputs();

    for (int i = 0; i < outputs.length; i++) {
        Connector con = outputs[i];
        Connector target = con.getTarget();

        if (target == null)
            continue;

        float x1 = con.getX() + 6;
        float y1 = con.getY() + 6;
        float x2 = target.getX() + 6;
        float y2 = target.getY() + 6;

        float startX;
        if (x2 > x1) {
            startX = x1;
            shapeRenderer.setColor(Color.BLACK);
        } else {
            shapeRenderer.setColor(Color.BLUE);
            startX = x2;
        }

        float startY;
        if (y2 > y1)
            startY = y1;
        else
            startY = y2;

        if (cameraRect.overlaps(new Rectangle(startX, startY, Math.abs(x2 - x1), Math.abs(y2 - y1))) == false)
            continue;

        float d = 0;

        if (renderCurves) {
            d = Math.abs(y1 - y2);
            if (d > 100)
                d = 100; // limit
        }

        if (renderCurves)
            shapeRenderer.curve(x1, y1, x1 + d, y1, x2 - d, y2, x2, y2, 32); // connection line
        else
            shapeRenderer.line(x1, y1, x2 - 12, y2);

        rendered++;
    }

    return rendered;
}

From source file:pl.kotcrab.jdialogue.editor.components.ConnectionRenderer.java

License:Open Source License

public void render(ShapeRenderer shapeRenderer, Connector selectedConnection, float x2, float y2) {
    shapeRenderer.begin(ShapeType.Line);
    shapeRenderer.setColor(Color.ORANGE);
    float x1 = selectedConnection.getX() + 6;
    float y1 = selectedConnection.getY() + 6;

    float d = 0;/* www.  ja v a  2s.  c om*/

    if (renderCurves) {
        d = Math.abs(y1 - y2);
        if (d > 100)
            d = 100; // limit
    }

    if (selectedConnection.isInput() == true) // swaping values because curve will look weird without this
    {
        float temp = x1;
        x1 = x2;
        x2 = temp;

        temp = y1;
        y1 = y2;
        y2 = temp;
    }

    if (renderCurves)
        shapeRenderer.curve(x1, y1, x1 + d, y1, x2 - d, y2, x2, y2, 32);
    else
        shapeRenderer.line(x1, y1, x2, y2);

    shapeRenderer.end();
}