TitleState.java 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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.GradientPaint;
  7. import java.awt.Graphics2D;
  8. import java.awt.RenderingHints;
  9. import java.awt.image.BufferedImage;
  10. import model.SongHandler;
  11. import control.GameStateManager;
  12. import control.GameStateManager.State;
  13. import control.button.ButtonEvent;
  14. import control.joystick.JoystickEvent;
  15. public class TitleState extends GameState {
  16. BufferedImage pressStart = Images.getImage(ImageType.pressstart);
  17. BufferedImage colorStrike = Images.getImage(ImageType.colorstrike);
  18. BufferedImage background;
  19. Font textFont = new Font("OCR A Extended", Font.BOLD, 15);
  20. Font textFont2 = new Font("OCR A Extended", Font.BOLD, 130);
  21. GradientPaint gp = new GradientPaint(300, 0, new Color(0,0,1, 0.6f),980,1024 ,new Color(0,0,1, 0.2f));
  22. int index = 0;
  23. int varx = 0;
  24. int frame;
  25. public TitleState(GameStateManager gsm, SongHandler sh){
  26. super(gsm, sh);
  27. createBackground();
  28. }
  29. @Override
  30. public void init() {
  31. }
  32. @Override
  33. public void update(float factor) {
  34. frame++;
  35. }
  36. @Override
  37. public void draw(Graphics2D g2) {
  38. g2.drawImage(background, 0, 0, 1280, 1024, null);
  39. int image_x = ((frame / 6) % 6) * 49;
  40. g2.drawImage(pressStart.getSubimage(image_x, 0, 49, 26), 640-122, 512, 245, 130, null);
  41. }
  42. @Override
  43. public void buttonPressed(ButtonEvent e) {
  44. switch(e.getButton().getButtonID()){
  45. case 0:
  46. gsm.setState(State.MENU_STATE);
  47. break;
  48. }
  49. }
  50. @Override
  51. public void buttonReleased(ButtonEvent e) {
  52. }
  53. @Override
  54. public void onJoystickMoved(JoystickEvent e) {
  55. }
  56. public void createBackground(){
  57. background = new BufferedImage(1280, 1024, BufferedImage.TYPE_4BYTE_ABGR);
  58. Graphics2D g2 = background.createGraphics();
  59. RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
  60. g2.setRenderingHints(rh);
  61. g2.setColor(new Color(1,1,1, 0.3f));
  62. g2.fillRect(0,0,1280,1024);
  63. g2.setColor(new Color(0,1,0, 0.7f));
  64. g2.fillRect(0,0,100,1024);
  65. g2.fillRect(1180,0,100,1024);
  66. g2.setColor(new Color(1,1,0, 0.7f));
  67. g2.fillRect(100,0,100,1024);
  68. g2.fillRect(1080,0,100,1024);
  69. g2.setColor(new Color(1,0,0, 0.7f));
  70. g2.fillRect(200,0,100,1024);
  71. g2.fillRect(980,0,100,1024);
  72. g2.setPaint(gp);
  73. g2.fillRect(300, 0, 680, 1024);
  74. g2.setFont(textFont);
  75. g2.setColor(Color.WHITE);
  76. g2.drawString("©2015 Team Hamtaro", 550, 1012);
  77. g2.setColor(Color.RED);
  78. g2.setFont(textFont2);
  79. g2.drawString("Color", 385, 212);
  80. g2.drawString("Strike", 390, 342);
  81. background.createGraphics();
  82. background = Images.toCompatibleImage(background);
  83. }
  84. }