Browse Source

updated engine, demo key binding code

Kajetan Johannes Hammerle 5 years ago
parent
commit
161fb8f4ad
3 changed files with 34 additions and 14 deletions
  1. BIN
      lib/SnuviEngine.jar
  2. 1 0
      src/pathgame/Main.java
  3. 33 14
      src/pathgame/PathGame.java

BIN
lib/SnuviEngine.jar


+ 1 - 0
src/pathgame/Main.java

@@ -7,6 +7,7 @@ public class Main
     public static void main(String[] args)
     {
         Engine.init("Path Game", 1024, 768);
+        Engine.setNanosPerTick(50000000);
         PathGame game = new PathGame();
         Engine.start(game);
     }    

+ 33 - 14
src/pathgame/PathGame.java

@@ -1,36 +1,55 @@
 package pathgame;
 
 import me.hammerle.snuviengine.api.IGame;
+import me.hammerle.snuviengine.api.KeyBinding;
+import me.hammerle.snuviengine.api.KeyHandler;
 import me.hammerle.snuviengine.api.Renderer;
+import org.lwjgl.glfw.GLFW;
 
 public class PathGame implements IGame
 {
-    private float oldAngle = 0;
-    private float angle = 0;
+    private float oldX = 0;
+    private float oldY = 0;
+    private float x = 0;
+    private float y = 0;
+    
+    private static final KeyBinding UP_KEY = KeyHandler.register(GLFW.GLFW_KEY_W);
+    private static final KeyBinding DOWN_KEY = KeyHandler.register(GLFW.GLFW_KEY_S);
+    private static final KeyBinding LEFT_KEY = KeyHandler.register(GLFW.GLFW_KEY_A);
+    private static final KeyBinding RIGHT_KEY = KeyHandler.register(GLFW.GLFW_KEY_D);
+    
+    public PathGame()
+    {
+    }
     
     @Override
     public void tick()
     {
-        oldAngle = angle;
-        angle += 0.25;
+        oldX = x;
+        oldY = y;
+        
+        if(LEFT_KEY.isDown())
+        {
+            x -= 10; 
+        }
+        if(RIGHT_KEY.isDown())
+        {
+            x += 10; 
+        }
     }
-
+    
     @Override
     public void renderTick(Renderer r, float lag)
     {
-        r.setTextureEnabled(true);
-        r.setColorEnabled(true);
         r.setMixColorEnabled(false);
-        r.setBlendingEnabled(false);
-        
+     
         r.translateTo(0.0f, 0.0f);
-        r.translate(200.0f, 200.0f);
-        r.rotate(oldAngle + (angle - oldAngle) * lag);
-        r.translate(-50.0f, 0.0f);
-        r.scale(2, 2);
         r.updateMatrix();
         
-        r.getFontRenderer().drawString(0, 0, "Das &5ist &6ein Test.");
+        float ix = oldX + (x - oldX) * lag;
+        float iy = oldY + (y - oldY) * lag;
+        
+        r.getColorRenderer().drawRectangle(ix, iy, ix + 20, iy + 20, 0xFF0000FF);
     }
 
     @Override