GameOverState.java 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package model.gameState;
  2. import image.Images;
  3. import image.Images.ImageType;
  4. import java.awt.Color;
  5. import java.awt.Font;
  6. import java.awt.Graphics2D;
  7. import java.awt.RenderingHints;
  8. import java.awt.Transparency;
  9. import java.awt.image.BufferedImage;
  10. import java.awt.image.VolatileImage;
  11. import model.SongHandler;
  12. import model.objects.InfoPanel;
  13. import control.GameStateManager;
  14. import control.GameStateManager.State;
  15. import control.button.ButtonEvent;
  16. import control.joystick.JoystickEvent;
  17. import data.io.SQLConnector;
  18. public class GameOverState extends GameState {
  19. BufferedImage gameOver = Images.getImage(ImageType.gameover);
  20. VolatileImage background;
  21. Font textFont = new Font("OCR A Extended", Font.BOLD, 70);
  22. private String endScore = "";
  23. int frame;
  24. public GameOverState(GameStateManager gsm, SongHandler sh, SQLConnector sql) {
  25. super(gsm, sh, sql);
  26. createBackground();
  27. }
  28. @Override
  29. public void init() {
  30. }
  31. @Override
  32. public void update(float factor) {
  33. frame++;
  34. }
  35. @Override
  36. public void draw(Graphics2D g2) {
  37. g2.drawImage(background, 0, 0, 1280, 1024, null);
  38. int image_x = ((frame / 5) % 5) * 40;
  39. g2.drawImage(gameOver.getSubimage(image_x, 0, 40, 26), 640-122, 512, 245, 130, null);
  40. RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
  41. g2.setRenderingHints(rh);
  42. g2.setColor(new Color(1,1,1, 0.3f));
  43. g2.fillRect(0,0,1280,1024);
  44. g2.setColor(new Color(0,1,0, 0.7f));
  45. g2.fillRect(0,0,100,1024);
  46. g2.fillRect(1180,0,100,1024);
  47. g2.setColor(new Color(1,1,0, 0.7f));
  48. g2.fillRect(100,0,100,1024);
  49. g2.fillRect(1080,0,100,1024);
  50. g2.setColor(new Color(1,0,0, 0.7f));
  51. g2.fillRect(200,0,100,1024);
  52. g2.fillRect(980,0,100,1024);
  53. g2.setColor(Color.BLACK);
  54. g2.setFont(textFont);
  55. g2.drawString("High Score", 385, 212);
  56. g2.drawString(InfoPanel.getTotalHighscore(), 390, 342);
  57. g2.dispose();
  58. background.createGraphics();
  59. }
  60. @Override
  61. public void buttonPressed(ButtonEvent e) {
  62. switch(e.getButton().getButtonID()){
  63. case 0:
  64. gsm.setState(State.MENU_STATE);
  65. break;
  66. }
  67. }
  68. @Override
  69. public void buttonReleased(ButtonEvent e) {
  70. }
  71. @Override
  72. public void onJoystickMoved(JoystickEvent e) {
  73. }
  74. public void createBackground(){
  75. background = Images.initVolatileImage(1280, 1024, Transparency.OPAQUE);
  76. Graphics2D g2 = background.createGraphics();
  77. }
  78. }