summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--assets/libgdx.pngbin2458 -> 0 bytes
-rw-r--r--assets/sc_map.pngbin0 -> 1476927 bytes
-rw-r--r--core/src/main/java/org/snoopdesigns/endless/EndlessGame.java64
-rw-r--r--desktop/src/main/java/org/snoopdesigns/endless/desktop/DesktopLauncher.java1
4 files changed, 63 insertions, 2 deletions
diff --git a/assets/libgdx.png b/assets/libgdx.png
deleted file mode 100644
index 6c7bfca..0000000
--- a/assets/libgdx.png
+++ /dev/null
Binary files differ
diff --git a/assets/sc_map.png b/assets/sc_map.png
new file mode 100644
index 0000000..1ae81b0
--- /dev/null
+++ b/assets/sc_map.png
Binary files differ
diff --git a/core/src/main/java/org/snoopdesigns/endless/EndlessGame.java b/core/src/main/java/org/snoopdesigns/endless/EndlessGame.java
index 53884dd..1453a6e 100644
--- a/core/src/main/java/org/snoopdesigns/endless/EndlessGame.java
+++ b/core/src/main/java/org/snoopdesigns/endless/EndlessGame.java
@@ -1,32 +1,92 @@
package org.snoopdesigns.endless;
import com.badlogic.gdx.ApplicationAdapter;
+import com.badlogic.gdx.Gdx;
+import com.badlogic.gdx.Input;
+import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.Texture;
+import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
+import com.badlogic.gdx.math.MathUtils;
import com.badlogic.gdx.utils.ScreenUtils;
public class EndlessGame extends ApplicationAdapter {
+ private static final int WORLD_WIDTH = 100;
+ private static final int WORLD_HEIGHT = 100;
+
+ private static final int DEFAULT_VIEWPORT_WIDTH = 30;
+ private static final int DEFAULT_VIEWPORT_HEIGHT = 30;
+
+ private OrthographicCamera cam;
private SpriteBatch batch;
+ private Sprite imageSprite;
private Texture image;
@Override
public void create() {
batch = new SpriteBatch();
- image = new Texture("libgdx.png");
+ image = new Texture("sc_map.png");
+ imageSprite = new Sprite(image);
+ imageSprite.setPosition(0, 0);
+ imageSprite.setSize(WORLD_WIDTH, WORLD_HEIGHT);
+
+ float graphicsWidth = Gdx.graphics.getWidth();
+ float graphicsHeight = Gdx.graphics.getHeight();
+
+ cam = new OrthographicCamera(
+ DEFAULT_VIEWPORT_WIDTH,
+ DEFAULT_VIEWPORT_HEIGHT * (graphicsHeight / graphicsWidth));
+ cam.position.set(cam.viewportWidth / 2f, cam.viewportHeight / 2f, 0);
+ cam.update();
}
@Override
public void render() {
+ handleInput();
+ cam.update();
+ batch.setProjectionMatrix(cam.combined);
+
ScreenUtils.clear(0.15f, 0.15f, 0.2f, 1f);
+
batch.begin();
- batch.draw(image, 140, 210);
+ imageSprite.draw(batch);
batch.end();
}
@Override
public void dispose() {
+ imageSprite.getTexture().dispose();
batch.dispose();
image.dispose();
}
+
+ private void handleInput() {
+ if (Gdx.input.isKeyPressed(Input.Keys.A)) {
+ cam.zoom += 0.02;
+ }
+ if (Gdx.input.isKeyPressed(Input.Keys.Q)) {
+ cam.zoom -= 0.02;
+ }
+ if (Gdx.input.isKeyPressed(Input.Keys.LEFT)) {
+ cam.translate(-3, 0, 0);
+ }
+ if (Gdx.input.isKeyPressed(Input.Keys.RIGHT)) {
+ cam.translate(3, 0, 0);
+ }
+ if (Gdx.input.isKeyPressed(Input.Keys.DOWN)) {
+ cam.translate(0, -3, 0);
+ }
+ if (Gdx.input.isKeyPressed(Input.Keys.UP)) {
+ cam.translate(0, 3, 0);
+ }
+
+ cam.zoom = MathUtils.clamp(cam.zoom, 0.1f, 100 / cam.viewportWidth);
+
+ float effectiveViewportWidth = cam.viewportWidth * cam.zoom;
+ float effectiveViewportHeight = cam.viewportHeight * cam.zoom;
+
+ cam.position.x = MathUtils.clamp(cam.position.x, effectiveViewportWidth / 2f, 100 - effectiveViewportWidth / 2f);
+ cam.position.y = MathUtils.clamp(cam.position.y, effectiveViewportHeight / 2f, 100 - effectiveViewportHeight / 2f);
+ }
}
diff --git a/desktop/src/main/java/org/snoopdesigns/endless/desktop/DesktopLauncher.java b/desktop/src/main/java/org/snoopdesigns/endless/desktop/DesktopLauncher.java
index 6aaa364..7221dac 100644
--- a/desktop/src/main/java/org/snoopdesigns/endless/desktop/DesktopLauncher.java
+++ b/desktop/src/main/java/org/snoopdesigns/endless/desktop/DesktopLauncher.java
@@ -21,6 +21,7 @@ public class DesktopLauncher {
configuration.useVsync(true);
configuration.setForegroundFPS(Lwjgl3ApplicationConfiguration.getDisplayMode().refreshRate + 1);
configuration.setWindowedMode(640, 480);
+ //configuration.setFullscreenMode(Lwjgl3ApplicationConfiguration.getDisplayMode());
return configuration;
}
} \ No newline at end of file