From e3935fe4b6ecfbe161001fc95d295f53e8520c52 Mon Sep 17 00:00:00 2001 From: Dmitri Morozov Date: Fri, 2 Feb 2024 18:58:12 +0100 Subject: Initial commit --- .../endless/renderer/CursorRenderer.java | 29 ++++++++++++ .../endless/renderer/DebugRenderer.java | 54 ++++++++++++++++++++++ .../snoopdesigns/endless/renderer/Renderer.java | 11 +++++ 3 files changed, 94 insertions(+) create mode 100644 core/src/org/snoopdesigns/endless/renderer/CursorRenderer.java create mode 100644 core/src/org/snoopdesigns/endless/renderer/DebugRenderer.java create mode 100644 core/src/org/snoopdesigns/endless/renderer/Renderer.java (limited to 'core/src/org/snoopdesigns/endless/renderer') diff --git a/core/src/org/snoopdesigns/endless/renderer/CursorRenderer.java b/core/src/org/snoopdesigns/endless/renderer/CursorRenderer.java new file mode 100644 index 0000000..05b12f9 --- /dev/null +++ b/core/src/org/snoopdesigns/endless/renderer/CursorRenderer.java @@ -0,0 +1,29 @@ +package org.snoopdesigns.endless.renderer; + +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.graphics.Cursor; +import com.badlogic.gdx.graphics.Pixmap; + +public class CursorRenderer implements Renderer { + + private Pixmap crosshair; + + @Override + public void create() { + crosshair = new Pixmap(Gdx.files.internal("crosshair.png")); + final Cursor cursor = Gdx.graphics.newCursor(crosshair, + crosshair.getWidth() / 2, + crosshair.getHeight() / 2); + Gdx.graphics.setCursor(cursor); + } + + @Override + public void render() { + + } + + @Override + public void dispose() { + crosshair.dispose(); + } +} diff --git a/core/src/org/snoopdesigns/endless/renderer/DebugRenderer.java b/core/src/org/snoopdesigns/endless/renderer/DebugRenderer.java new file mode 100644 index 0000000..f31336b --- /dev/null +++ b/core/src/org/snoopdesigns/endless/renderer/DebugRenderer.java @@ -0,0 +1,54 @@ +package org.snoopdesigns.endless.renderer; + +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.graphics.g2d.BitmapFont; +import com.badlogic.gdx.graphics.g2d.SpriteBatch; +import org.snoopdesigns.endless.context.Context; + +public class DebugRenderer implements Renderer { + + private BitmapFont font; + private SpriteBatch batch; + + @Override + public void create() { + font = new BitmapFont(Gdx.files.internal("calibri.fnt"), false); + font.setColor(Color.GREEN); + font.getData().setScale(0.7f); + batch = new SpriteBatch(); + } + + @Override + public void render() { + batch.begin(); + final String debugText = String.format(""" + window size %d x %d + viewport %f %f + zoom %f + position %f %f + angle %f + speed %f + velocity %f %f + """, + Gdx.graphics.getWidth(), + Gdx.graphics.getHeight(), + Context.getInstance().getCameraContext().getViewport().x, + Context.getInstance().getCameraContext().getViewport().y, + Context.getInstance().getCameraContext().getZoom(), + Context.getInstance().getCameraContext().getPosition().x, + Context.getInstance().getCameraContext().getPosition().y, + Context.getInstance().getPlayerShip().getBody().getAngle(), + Context.getInstance().getPlayerShip().getBody().getLinearVelocity().len(), + Context.getInstance().getPlayerShip().getBody().getLinearVelocity().x, + Context.getInstance().getPlayerShip().getBody().getLinearVelocity().y); + font.draw(batch, debugText, 10f, 190f); + batch.end(); + } + + @Override + public void dispose() { + font.dispose(); + batch.dispose(); + } +} diff --git a/core/src/org/snoopdesigns/endless/renderer/Renderer.java b/core/src/org/snoopdesigns/endless/renderer/Renderer.java new file mode 100644 index 0000000..a98e36a --- /dev/null +++ b/core/src/org/snoopdesigns/endless/renderer/Renderer.java @@ -0,0 +1,11 @@ +package org.snoopdesigns.endless.renderer; + +import org.snoopdesigns.endless.input.DefaultInputProcessor; + +public interface Renderer extends DefaultInputProcessor { + void create(); + void render(); + void dispose(); + default void resize(int width, int height) { + } +} -- cgit v1.2.3