List of usage examples for com.badlogic.gdx.graphics.glutils ShapeRenderer setColor
public void setColor(Color color)
From source file:net.noviden.towerdefense.TurretFactory.ChaingunTurret.java
License:Open Source License
public void draw(ShapeRenderer shapeRenderer) { // draw base turret shapeRenderer.setColor(BASE_TURRET_COLOR); shapeRenderer.set(ShapeRenderer.ShapeType.Filled); shapeRenderer.circle(location.x, location.y, BASE_SIZE_RADIUS); // draw its identifying feature: three circles in a row shapeRenderer.setColor(Color.WHITE); shapeRenderer.circle(location.x, location.y, BASE_SIZE_RADIUS * 0.15f); shapeRenderer.circle(location.x + (BASE_SIZE_RADIUS * 0.5f), location.y, BASE_SIZE_RADIUS * 0.15f); shapeRenderer.circle(location.x - (BASE_SIZE_RADIUS * 0.5f), location.y, BASE_SIZE_RADIUS * 0.15f); }
From source file:net.noviden.towerdefense.TurretFactory.HomingTurret.java
License:Open Source License
public void draw(ShapeRenderer shapeRenderer) { // draw base turret shapeRenderer.setColor(BASE_TURRET_COLOR); shapeRenderer.set(ShapeRenderer.ShapeType.Filled); shapeRenderer.circle(location.x, location.y, BASE_SIZE_RADIUS); // draw identifying feature: s, c, n, nw, ne shapeRenderer.setColor(Color.WHITE); // draw s//from ww w. j a va 2 s . com shapeRenderer.circle(location.x, location.y + (BASE_SIZE_RADIUS * 0.5f), BASE_SIZE_RADIUS * 0.15f); // draw nw shapeRenderer.circle(location.x - (BASE_SIZE_RADIUS * 0.5f), location.y - (BASE_SIZE_RADIUS * 0.5f), BASE_SIZE_RADIUS * 0.15f); // draw n shapeRenderer.circle(location.x, location.y - (BASE_SIZE_RADIUS * 0.5f), BASE_SIZE_RADIUS * 0.15f); // draw ne shapeRenderer.circle(location.x + (BASE_SIZE_RADIUS * 0.5f), location.y - (BASE_SIZE_RADIUS * 0.5f), BASE_SIZE_RADIUS * 0.15f); // draw nn shapeRenderer.circle(location.x, location.y - (BASE_SIZE_RADIUS * 0.8f), BASE_SIZE_RADIUS * 0.15f); }
From source file:net.noviden.towerdefense.TurretFactory.RocketTurret.java
License:Open Source License
public void draw(ShapeRenderer shapeRenderer) { // draw base turret shapeRenderer.setColor(BASE_TURRET_COLOR); shapeRenderer.set(ShapeRenderer.ShapeType.Filled); shapeRenderer.circle(location.x, location.y, BASE_SIZE_RADIUS); // draw identifying feature shapeRenderer.setColor(Color.WHITE); // draw center circle shapeRenderer.circle(location.x, location.y, BASE_SIZE_RADIUS * 0.15f); // draw n,s,w,e shapeRenderer.circle(location.x + (BASE_SIZE_RADIUS * 0.5f), location.y, BASE_SIZE_RADIUS * 0.15f); shapeRenderer.circle(location.x - (BASE_SIZE_RADIUS * 0.5f), location.y, BASE_SIZE_RADIUS * 0.15f); shapeRenderer.circle(location.x, location.y + (BASE_SIZE_RADIUS * 0.5f), BASE_SIZE_RADIUS * 0.15f); shapeRenderer.circle(location.x, location.y - (BASE_SIZE_RADIUS * 0.5f), BASE_SIZE_RADIUS * 0.15f); // draw ne, nw, se, sw shapeRenderer.circle(location.x + (BASE_SIZE_RADIUS * 0.5f), location.y - (BASE_SIZE_RADIUS * 0.5f), BASE_SIZE_RADIUS * 0.15f);// www . ja v a 2s. c o m shapeRenderer.circle(location.x - (BASE_SIZE_RADIUS * 0.5f), location.y - (BASE_SIZE_RADIUS * 0.5f), BASE_SIZE_RADIUS * 0.15f); shapeRenderer.circle(location.x + (BASE_SIZE_RADIUS * 0.5f), location.y + (BASE_SIZE_RADIUS * 0.5f), BASE_SIZE_RADIUS * 0.15f); shapeRenderer.circle(location.x - (BASE_SIZE_RADIUS * 0.5f), location.y + (BASE_SIZE_RADIUS * 0.5f), BASE_SIZE_RADIUS * 0.15f); }
From source file:net.noviden.towerdefense.TurretFactory.ShotgunTurret.java
License:Open Source License
public void draw(ShapeRenderer shapeRenderer) { // draw base turret shapeRenderer.setColor(BASE_TURRET_COLOR); shapeRenderer.set(ShapeRenderer.ShapeType.Filled); shapeRenderer.circle(location.x, location.y, BASE_SIZE_RADIUS); // draw identifying feature: spread of circles shapeRenderer.setColor(Color.WHITE); // draw center circle shapeRenderer.circle(location.x, location.y, BASE_SIZE_RADIUS * 0.15f); // draw right two circles shapeRenderer.circle(location.x + (BASE_SIZE_RADIUS * 0.5f), location.y + (BASE_SIZE_RADIUS * 0.5f), BASE_SIZE_RADIUS * 0.15f);//from w w w . j av a2 s.co m shapeRenderer.circle(location.x + (BASE_SIZE_RADIUS * 0.5f), location.y - (BASE_SIZE_RADIUS * 0.5f), BASE_SIZE_RADIUS * 0.15f); // draw left two circles shapeRenderer.circle(location.x - (BASE_SIZE_RADIUS * 0.5f), location.y - (BASE_SIZE_RADIUS * 0.5f), BASE_SIZE_RADIUS * 0.15f); shapeRenderer.circle(location.x - (BASE_SIZE_RADIUS * 0.5f), location.y + (BASE_SIZE_RADIUS * 0.5f), BASE_SIZE_RADIUS * 0.15f); }
From source file:net.noviden.towerdefense.TurretFactory.TurretManager.java
License:Open Source License
public void draw(ShapeRenderer shapeRenderer) { shapeRenderer.setColor(Color.BLUE); for (BaseTurret turret : turrets) { turret.draw(shapeRenderer);//from w w w . ja va2 s .c om } }
From source file:net.noviden.towerdefense.UnitFactory.HexagonUnit.java
License:Open Source License
public void draw(ShapeRenderer shapeRenderer) { // draw each unit's health as a percent of its shape float percentHealthMissing = 1.0f - (this.health / this.maxHealth); float percentToDraw; float s = centerToVertex / 2, c = (float) Math.sqrt(3) * centerToVertex / 2; // draw a hexagon centered at the current location shapeRenderer.set(ShapeRenderer.ShapeType.Filled); shapeRenderer.setColor(BASE_UNIT_COLOR); shapeRenderer.identity();/* w ww . j av a 2 s. c o m*/ shapeRenderer.translate(location.x, location.y, 0.f); shapeRenderer.rotate(0f, 0f, 1f, rotation); // E * * * F // * * * * * * * // D * * * M * * * A // * * * * * * * // C * * * B // draw triangle MAB shapeRenderer.triangle(0, 0, centerToVertex, 0, s, -c); // draw triangle MBC shapeRenderer.triangle(0, 0, s, -c, -s, -c); // draw triangle MCD shapeRenderer.triangle(0, 0, -s, -c, -centerToVertex, 0); // draw triangle MDE shapeRenderer.triangle(0, 0, -centerToVertex, 0, -s, c); // draw triangle MEF shapeRenderer.triangle(0, 0, -s, c, s, c); // draw triangle MFA shapeRenderer.triangle(0, 0, s, c, centerToVertex, 0); if (percentHealthMissing > 0.0f) { // draw in missing health shapeRenderer.setColor(BASE_UNIT_DAMAGED_COLOR); // draw triangle MAB percentToDraw = MathUtils.clamp(percentHealthMissing / 0.166f, 0, 1.0f); shapeRenderer.triangle(0, 0, centerToVertex, 0, centerToVertex - (Math.abs(centerToVertex - s) * percentToDraw), -c * percentToDraw); // draw triangle MBC percentToDraw = MathUtils.clamp((percentHealthMissing - 0.166f) / 0.166f, 0, 1.0f); shapeRenderer.triangle(0, 0, s, -c, s - (s * 2 * percentToDraw), -c); // draw triangle MCD percentToDraw = MathUtils.clamp((percentHealthMissing - 0.33f) / 0.166f, 0, 1.0f); shapeRenderer.triangle(0, 0, -s, -c, -s - (Math.abs(centerToVertex - s) * percentToDraw), -c + (c * percentToDraw)); // draw triangle MDE percentToDraw = MathUtils.clamp((percentHealthMissing - 0.5f) / 0.166f, 0, 1.0f); shapeRenderer.triangle(0, 0, -centerToVertex, 0, -centerToVertex + (Math.abs(centerToVertex - s) * percentToDraw), c * percentToDraw); // draw triangle MEF percentToDraw = MathUtils.clamp((percentHealthMissing - 0.66f) / 0.166f, 0, 1.0f); shapeRenderer.triangle(0, 0, -s, c, -s + (s * 2 * percentToDraw), c); // draw triangle MFA percentToDraw = MathUtils.clamp((percentHealthMissing - 0.83f) / 0.166f, 0, 1.0f); shapeRenderer.triangle(0, 0, s, c, s + (Math.abs(centerToVertex - s) * percentToDraw), c - (c * percentToDraw)); } shapeRenderer.identity(); }
From source file:net.noviden.towerdefense.UnitFactory.PentagonUnit.java
License:Open Source License
@Override public void draw(ShapeRenderer shapeRenderer) { // draw each unit's health as a percent of its shape float percentHealthMissing = 1.0f - (this.health / this.maxHealth); float percentToDraw; // thank you based wolframalpha // http://mathworld.wolfram.com/Pentagon.html float c1 = MathUtils.cos(MathUtils.PI * 2.0f / 5.0f) * centerToVertex, c2 = MathUtils.cos(MathUtils.PI / 5.0f) * centerToVertex, s1 = MathUtils.sin(MathUtils.PI * 2.0f / 5.0f) * centerToVertex, s2 = MathUtils.sin(MathUtils.PI * 4.0f / 5.0f) * centerToVertex; // draw a pentagon centered at the current location shapeRenderer.set(ShapeRenderer.ShapeType.Filled); shapeRenderer.setColor(BASE_UNIT_COLOR); shapeRenderer.identity();// ww w. j a v a 2s . c o m shapeRenderer.translate(location.x, location.y, 0.f); shapeRenderer.rotate(0f, 0f, 1f, rotation); // draw the pentagon // A // * * // E M B // * * // D * C // draw triangle MAB shapeRenderer.triangle(0, 0, 0, centerToVertex, s1, c1); // draw triangle MBC shapeRenderer.triangle(0, 0, s1, c1, s2, -c2); // draw triangle MCD shapeRenderer.triangle(0, 0, s2, -c2, -s2, -c2); // draw triangle MDE shapeRenderer.triangle(0, 0, -s2, -c2, -s1, c1); // draw triangle MEA shapeRenderer.triangle(0, 0, -s1, c1, 0, centerToVertex); if (percentHealthMissing > 0.0f) { // draw missing health shapeRenderer.setColor(BASE_UNIT_DAMAGED_COLOR); // triangle MAB percentToDraw = MathUtils.clamp(percentHealthMissing / 0.2f, 0, 1.0f); shapeRenderer.triangle(0, 0, 0, centerToVertex, s1 * percentToDraw, centerToVertex - (Math.abs(centerToVertex - c1) * percentToDraw)); // triangle MBC percentToDraw = MathUtils.clamp((percentHealthMissing - 0.2f) / 0.2f, 0, 1.0f); shapeRenderer.triangle(0, 0, s1, c1, s1 - (Math.abs(s1 - s2) * percentToDraw), c1 - ((c1 + c2) * percentToDraw)); // triangle MCD percentToDraw = MathUtils.clamp((percentHealthMissing - 0.4f) / 0.2f, 0, 1.0f); shapeRenderer.triangle(0, 0, s2, -c2, s2 - (s2 * 2 * percentToDraw), -c2); // triangle MDE percentToDraw = MathUtils.clamp((percentHealthMissing - 0.6f) / 0.2f, 0, 1.0f); shapeRenderer.triangle(0, 0, -s2, -c2, -s2 - (Math.abs(s1 - s2) * percentToDraw), -c2 + ((c1 + c2) * percentToDraw)); // triangle MEA percentToDraw = MathUtils.clamp((percentHealthMissing - 0.8f) / 0.2f, 0, 1.0f); shapeRenderer.triangle(0, 0, -s1, c1, -s1 + (s1 * percentToDraw), c1 + (Math.abs(centerToVertex - c1) * percentToDraw)); } shapeRenderer.identity(); }
From source file:net.noviden.towerdefense.UnitFactory.SquareUnit.java
License:Open Source License
@Override public void draw(ShapeRenderer shapeRenderer) { // draw each unit's health as a percent of its shape float percentHealthMissing = 1.0f - (this.health / this.maxHealth); // draw a square centered at the current location shapeRenderer.set(ShapeRenderer.ShapeType.Filled); shapeRenderer.setColor(BASE_UNIT_COLOR); shapeRenderer.identity();/*from www .j a v a2s .c o m*/ shapeRenderer.translate(location.x, location.y, 0.f); shapeRenderer.rotate(0f, 0f, 1f, rotation); shapeRenderer.rect(-sideLength / 2, -sideLength / 2, sideLength, sideLength); // draw missing health: break up square into 4 distinct triangles if (percentHealthMissing > 0.0f) { shapeRenderer.setColor(BASE_UNIT_DAMAGED_COLOR); float percentToDraw; // draw 1 / 4 percentToDraw = MathUtils.clamp(percentHealthMissing / 0.25f, 0, 1.0f); shapeRenderer.triangle(0, 0, sideLength / 2, -sideLength / 2, sideLength / 2, -sideLength / 2 + percentToDraw * sideLength); // draw 2 / 4 percentToDraw = MathUtils.clamp((percentHealthMissing - 0.25f) / 0.25f, 0, 1.0f); shapeRenderer.triangle(0, 0, sideLength / 2, sideLength / 2, sideLength / 2 - percentToDraw * sideLength, sideLength / 2); // draw 3 / 4 percentToDraw = MathUtils.clamp((percentHealthMissing - 0.5f) / 0.25f, 0, 1.0f); shapeRenderer.triangle(0, 0, -sideLength / 2, sideLength / 2, -sideLength / 2, sideLength / 2 - percentToDraw * sideLength); // draw 4 / 4 percentToDraw = MathUtils.clamp((percentHealthMissing - 0.75f) / 0.25f, 0, 1.0f); shapeRenderer.triangle(0, 0, -sideLength / 2, -sideLength / 2, -sideLength / 2 + percentToDraw * sideLength, -sideLength / 2); } // reset the shapeRenderer transformation matrix shapeRenderer.identity(); }
From source file:net.noviden.towerdefense.UnitFactory.TriangleUnit.java
License:Open Source License
@Override public void draw(ShapeRenderer shapeRenderer) { // draw each unit's health as a percent of its shape float percentHealthMissing = 1.0f - (this.health / this.maxHealth); float percentToDraw; // draw a square centered at the current location shapeRenderer.set(ShapeRenderer.ShapeType.Filled); shapeRenderer.setColor(BASE_UNIT_COLOR); shapeRenderer.identity();//from www . j a va 2 s. c o m shapeRenderer.translate(location.x, location.y, 0.f); shapeRenderer.rotate(0f, 0f, 1f, rotation); shapeRenderer.triangle(points[0].x, points[0].y, points[1].x, points[1].y, points[2].x, points[2].y); // draw in health missing, break down large triangle into three smaller ones shapeRenderer.setColor(BASE_UNIT_DAMAGED_COLOR); if (percentHealthMissing > 0.0f) { // draw 1 / 3, MAB percentToDraw = MathUtils.clamp(percentHealthMissing / 0.33f, 0, 1.0f); shapeRenderer.triangle(0, 0, points[0].x, points[0].y, points[0].x + (Math.abs(points[0].x - points[1].x) * percentToDraw), points[0].y - (Math.abs(points[0].y - points[1].y) * percentToDraw)); // draw 2 / 3, MBC percentToDraw = MathUtils.clamp((percentHealthMissing - 0.33f) / 0.33f, 0, 1.0f); shapeRenderer.triangle(0, 0, points[1].x, points[1].y, points[1].x - (points[1].x * percentToDraw * 2), points[2].y); // draw 3 / 3, MCA percentToDraw = MathUtils.clamp((percentHealthMissing - 0.66f) / 0.33f, 0, 1.0f); shapeRenderer.triangle(0, 0, points[2].x, points[2].y, points[2].x + (Math.abs(points[2].x - points[0].x) * percentToDraw), points[2].y + (Math.abs(points[2].y - points[0].y) * percentToDraw)); } shapeRenderer.identity(); }
From source file:net.noviden.towerdefense.UnitFactory.Unit.java
License:Open Source License
public void draw(ShapeRenderer shapeRenderer) { // draw each unit's health as a percent of its circle float percentHealthMissing = (1.0f - this.health / this.maxHealth); float degrees = percentHealthMissing * 360.0f; shapeRenderer.setColor(BASE_UNIT_COLOR); shapeRenderer.circle(location.x, location.y, BASE_RADIUS); if (percentHealthMissing > 0.0f) { shapeRenderer.setColor(BASE_UNIT_DAMAGED_COLOR); shapeRenderer.arc(location.x, location.y, BASE_RADIUS, rotation, degrees); }//from ww w.j a v a2s . c o m }