Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.dongbat.invasion.system; import com.artemis.systems.VoidEntitySystem; import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.graphics.glutils.ShapeRenderer; import com.badlogic.gdx.math.Vector2; import com.dongbat.invasion.util.Constants; import com.dongbat.invasion.util.PhysicsCameraUtil; import com.dongbat.invasion.util.PlayerInputUtil; /** * * @author vuong */ public class HUDRenderSystem extends VoidEntitySystem { private final OrthographicCamera camera; private final ShapeRenderer shapeRenderer; public HUDRenderSystem() { this.camera = PhysicsCameraUtil.getCamera(); this.shapeRenderer = new ShapeRenderer(); } @Override protected void processSystem() { camera.update(); shapeRenderer.setProjectionMatrix(camera.combined); // draw ground line shapeRenderer.begin(ShapeRenderer.ShapeType.Line); shapeRenderer.line(Constants.PHYSICS.GROUND_BEGIN_X, Constants.PHYSICS.GROUND_Y, Constants.PHYSICS.GROUND_END_X, Constants.PHYSICS.GROUND_Y); shapeRenderer.end(); drawMin(); drawMax(); Vector2 aimVector = PlayerInputUtil.aimVector; if (aimVector != null) { drawAim(aimVector); } } private void drawMin() { shapeRenderer.begin(ShapeRenderer.ShapeType.Filled); shapeRenderer.circle(0, 0, 0.5f); shapeRenderer.end(); } private void drawMax() { shapeRenderer.begin(ShapeRenderer.ShapeType.Line); shapeRenderer.circle(0, 0, 20); shapeRenderer.end(); } private void drawAim(Vector2 aimVector) { shapeRenderer.begin(ShapeRenderer.ShapeType.Filled); shapeRenderer.circle(aimVector.x, aimVector.y, 1); shapeRenderer.end(); } }