Keep a global ShapeRenderer instance rather than an instance per entity
This commit is contained in:
parent
219622ff53
commit
c34610b3e3
@ -78,15 +78,15 @@ public class BrickBuster extends ApplicationAdapter {
|
||||
|
||||
long start_render = System.nanoTime();
|
||||
for (Brick block : bricks) {
|
||||
block.render();
|
||||
block.render(sr);
|
||||
}
|
||||
for (PowerUp powerUp : powerUps) {
|
||||
powerUp.render();
|
||||
powerUp.render(sr);
|
||||
}
|
||||
for (Ball ball : balls) {
|
||||
ball.render();
|
||||
ball.render(sr);
|
||||
}
|
||||
paddle.render();
|
||||
paddle.render(sr);
|
||||
|
||||
if (shieldActive) {
|
||||
sr.begin(ShapeRenderer.ShapeType.Filled);
|
||||
|
@ -2,6 +2,7 @@ package com.me.brickbuster.entity;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.graphics.Color;
|
||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer.ShapeType;
|
||||
import com.badlogic.gdx.math.MathUtils;
|
||||
import com.badlogic.gdx.math.Vector2;
|
||||
@ -30,11 +31,11 @@ public class Ball extends Entity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render() {
|
||||
getShapeRenderer().begin(ShapeType.Filled);
|
||||
getShapeRenderer().setColor(BALL_COLOR);
|
||||
getShapeRenderer().circle(getPos().x, getPos().y, RADIUS);
|
||||
getShapeRenderer().end();
|
||||
public void render(ShapeRenderer sr) {
|
||||
sr.begin(ShapeType.Filled);
|
||||
sr.setColor(BALL_COLOR);
|
||||
sr.circle(getPos().x, getPos().y, RADIUS);
|
||||
sr.end();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.me.brickbuster.entity;
|
||||
|
||||
import com.badlogic.gdx.graphics.Color;
|
||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer.ShapeType;
|
||||
import com.badlogic.gdx.math.Vector2;
|
||||
import com.me.brickbuster.BrickBuster;
|
||||
@ -28,11 +29,11 @@ public class Brick extends Entity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render() {
|
||||
getShapeRenderer().begin(ShapeType.Filled);
|
||||
getShapeRenderer().setColor(BLOCK_COLOR);
|
||||
getShapeRenderer().rect(getX(), getY(), BLOCK_WIDTH, BLOCK_HEIGHT);
|
||||
getShapeRenderer().end();
|
||||
public void render(ShapeRenderer sr) {
|
||||
sr.begin(ShapeType.Filled);
|
||||
sr.setColor(BLOCK_COLOR);
|
||||
sr.rect(getX(), getY(), BLOCK_WIDTH, BLOCK_HEIGHT);
|
||||
sr.end();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -6,17 +6,15 @@ import com.me.brickbuster.BrickBuster;
|
||||
|
||||
public abstract class Entity {
|
||||
|
||||
private ShapeRenderer shapeRenderer;
|
||||
private BrickBuster brickBuster;
|
||||
private Vector2 pos;
|
||||
|
||||
public Entity(BrickBuster brickBuster, float x, float y) {
|
||||
this.shapeRenderer = new ShapeRenderer();
|
||||
this.brickBuster = brickBuster;
|
||||
this.pos = new Vector2(x, y);
|
||||
}
|
||||
|
||||
public abstract void render();
|
||||
public abstract void render(ShapeRenderer sr);
|
||||
|
||||
public abstract void update(float dt);
|
||||
|
||||
@ -24,10 +22,6 @@ public abstract class Entity {
|
||||
return brickBuster;
|
||||
}
|
||||
|
||||
public ShapeRenderer getShapeRenderer() {
|
||||
return shapeRenderer;
|
||||
}
|
||||
|
||||
public Vector2 getPos() {
|
||||
return pos;
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package com.me.brickbuster.entity;
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.Input;
|
||||
import com.badlogic.gdx.graphics.Color;
|
||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer.ShapeType;
|
||||
import com.badlogic.gdx.math.Vector2;
|
||||
import com.me.brickbuster.BrickBuster;
|
||||
@ -24,11 +25,11 @@ public class Paddle extends Entity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render() {
|
||||
getShapeRenderer().begin(ShapeType.Filled);
|
||||
getShapeRenderer().setColor(sticky? Color.GRAY : PADDLE_COLOR);
|
||||
getShapeRenderer().rect(getX() - width/2, getY(), width, PADDLE_HEIGHT);
|
||||
getShapeRenderer().end();
|
||||
public void render(ShapeRenderer sr) {
|
||||
sr.begin(ShapeType.Filled);
|
||||
sr.setColor(sticky? Color.GRAY : PADDLE_COLOR);
|
||||
sr.rect(getX() - width/2, getY(), width, PADDLE_HEIGHT);
|
||||
sr.end();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -2,6 +2,7 @@ package com.me.brickbuster.entity.powerup;
|
||||
|
||||
import com.badlogic.gdx.graphics.Color;
|
||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
|
||||
import com.badlogic.gdx.graphics.glutils.ShapeRenderer.ShapeType;
|
||||
import com.badlogic.gdx.math.Vector2;
|
||||
import com.me.brickbuster.BrickBuster;
|
||||
import com.me.brickbuster.Utils;
|
||||
@ -23,11 +24,11 @@ public abstract class PowerUp extends Entity {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render() {
|
||||
getShapeRenderer().begin(ShapeRenderer.ShapeType.Filled);
|
||||
getShapeRenderer().setColor(color);
|
||||
getShapeRenderer().circle(getX(), getY(), RADIUS);
|
||||
getShapeRenderer().end();
|
||||
public void render(ShapeRenderer sr) {
|
||||
sr.begin(ShapeType.Filled);
|
||||
sr.setColor(color);
|
||||
sr.circle(getX(), getY(), RADIUS);
|
||||
sr.end();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
Reference in New Issue
Block a user