TestGame.java 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package me.hammerle.snuviengine;
  2. import me.hammerle.snuviengine.api.Gamepad;
  3. import me.hammerle.snuviengine.api.Renderer;
  4. import me.hammerle.snuviengine.api.Game;
  5. import me.hammerle.snuviengine.api.Keys;
  6. import me.hammerle.snuviengine.api.Stats;
  7. public class TestGame implements Game {
  8. private float posX = 200.0f;
  9. private float posY = 0.0f;
  10. private float lastPosX = 0.0f;
  11. private float lastPosY = 0.0f;
  12. private float move = 16.5f;
  13. private final float size = 20.0f;
  14. private Stats stats = null;
  15. private Gamepad gamepad = null;
  16. @Override
  17. public void onCompleteInitialization(Stats stats, Keys keys, Gamepad gamepad) {
  18. this.stats = stats;
  19. this.gamepad = gamepad;
  20. }
  21. @Override
  22. public void tick() {
  23. lastPosX = posX;
  24. lastPosY = posY;
  25. posX += move;
  26. if(posX < 0.0f || posX > 250.0f) {
  27. move = -move;
  28. }
  29. }
  30. @Override
  31. public void renderTick(Renderer renderer, float lag) {
  32. renderer.translateTo(0.0f, 0.0f);
  33. renderer.updateMatrix();
  34. float y = 10;
  35. renderer.setColorEnabled(true);
  36. renderer.setTextureEnabled(true);
  37. y = renderer.getFontRenderer().drawString(10, y, true, String.format("FPS: #00FF00%.1f", stats.getFramesPerSecond()));
  38. y = renderer.getFontRenderer().drawString(10, y, true, String.format("TPS: %.1f", stats.getTicksPerSecond()));
  39. for(Gamepad.GamepadButton binding : gamepad.bindings) {
  40. y = renderer.getFontRenderer().drawString(10, y, true, String.format("%s: %b, %d, %b", binding.getName(), binding.isDown(), binding.getTime(), binding.isReleased()));
  41. }
  42. renderer.setColorEnabled(true);
  43. renderer.setTextureEnabled(false);
  44. float rx = lastPosX + (posX - lastPosX) * lag;
  45. float ry = lastPosY + (posY - lastPosY) * lag;
  46. rx = renderer.round(rx);
  47. ry = renderer.round(ry);
  48. renderer.translateTo(rx, ry);
  49. renderer.updateMatrix();
  50. renderer.getColorRenderer().drawRectangle(0, 0, size, size, 0xFF0000FF);
  51. }
  52. @Override
  53. public void onStop() {
  54. }
  55. }