فهرست منبع

HelpState beter gemaakt

Daniel 10 سال پیش
والد
کامیت
35c6c27d15
4فایلهای تغییر یافته به همراه103 افزوده شده و 6 حذف شده
  1. 3 0
      control/GameStateManager.java
  2. 2 1
      image/Images.java
  3. 87 1
      model/gameState/HelpState.java
  4. 11 4
      model/gameState/MenuState.java

+ 3 - 0
control/GameStateManager.java

@@ -7,6 +7,7 @@ import java.util.List;
 import model.SongHandler;
 import model.gameState.GameOverState;
 import model.gameState.GameState;
+import model.gameState.HelpState;
 import model.gameState.MenuState;
 import model.gameState.PlayState;
 import model.gameState.TitleState;
@@ -25,6 +26,7 @@ public class GameStateManager {
 	public enum State {
 		TITLE_STATE,
 		MENU_STATE,
+		HELP_STATE,
 		PLAY_STATE,
 		GAMEOVER_STATE
 	}
@@ -33,6 +35,7 @@ public class GameStateManager {
 		gamestates = new ArrayList<GameState>();
 		gamestates.add(new TitleState(this, sh, sql));
 		gamestates.add(new MenuState(this, sh, sql));
+		gamestates.add(new HelpState(this, sh, sql));
 		gamestates.add(new PlayState(this, sh, sql));
 		gamestates.add(new GameOverState(this, sh, sql));
 		setState(State.TITLE_STATE);

+ 2 - 1
image/Images.java

@@ -33,6 +33,7 @@ public class Images {
 		   	images.add(toCompatibleImage(ImageIO.read(Main.class.getResource("/image/aanwijzers4sho.png"))));
 		   	images.add(toCompatibleImage(ImageIO.read(Main.class.getResource("/image/kast.png"))));
 		   	images.add(toCompatibleImage(ImageIO.read(Main.class.getResource("/image/gameover.png"))));
+		   	images.add(toCompatibleImage(ImageIO.read(Main.class.getResource("/image/help.png"))));
 		} catch (IOException e) {
 			e.printStackTrace();
 		}
@@ -43,7 +44,7 @@ public class Images {
 	}
 
 	public enum ImageType {
-		pulse,cursor,pressstart,colorstrike,background,aanwijzers,kast,gameover
+		pulse,cursor,pressstart,colorstrike,background,aanwijzers,kast,gameover,help
 	}
 
 	public static BufferedImage readImage(File f) {

+ 87 - 1
model/gameState/HelpState.java

@@ -1,5 +1,91 @@
 package model.gameState;
 
-public class HelpState {
+import image.Images;
+import image.Images.ImageType;
+
+import java.awt.Font;
+import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+import java.awt.Transparency;
+import java.awt.image.BufferedImage;
+import java.awt.image.VolatileImage;
+
+import model.GameModel;
+import model.SongHandler;
+import control.GameStateManager;
+import control.GameStateManager.State;
+import control.button.ButtonEvent;
+import control.joystick.JoystickEvent;
+import data.io.SQLConnector;
+
+public class HelpState extends GameState {
+
+    BufferedImage help = Images.getImage(ImageType.help);
+    VolatileImage background;
+	Font textFontSmall = new Font("OCR A Extended", Font.BOLD, 15);
+
+	
+    int index = 0;
+    int frame;
+
+    
+	public HelpState(GameStateManager gsm, SongHandler sh, SQLConnector sql){
+		super(gsm, sh, sql);
+		createBackground();
+	}
+
+	@Override
+	public void init() {
+		sh.play();
+	}
+
+	@Override
+	public void update(float factor) {
+
+        frame++;
+	}
+
+	@Override
+	public void draw(Graphics2D g2) {
+		g2.drawImage(background, 0, 0, 1280, 1024, null);
+
+	}
+
+	@Override
+	public void buttonPressed(ButtonEvent e) {
+
+		if(e.getButton().getButtonID() == 2) {
+			gsm.setState(State.MENU_STATE);
+		}
+
+	}
+
+	@Override
+	public void buttonReleased(ButtonEvent e) {
+
+	}
+
+	@Override
+	public void onJoystickMoved(JoystickEvent e) {
+	}
+
+	public void createBackground() {
+		background = Images.initVolatileImage(1280, 1024, Transparency.OPAQUE);
+		Graphics2D g2 = background.createGraphics();
+		RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+		g2.setRenderingHints(rh);
+		
+		g2.drawImage(help, 0,0,1280,1024,null);
+		
+		g2.setFont(textFontSmall);
+		
+		//back
+		g2.setColor(GameModel.colors[2]);
+		g2.fillOval(80, 965, 30, 30);
+		g2.drawString("Back", 115, 985);
+
+		g2.dispose();
+		background.createGraphics();
+	}
 
 }

+ 11 - 4
model/gameState/MenuState.java

@@ -196,7 +196,9 @@ public class MenuState extends GameState {
 				selected = 0;
 				sh.set(songs.indexOf(selectedToSong(selected)));
 				sh.play();	
-			}	
+			}else if(e.getButton().getButtonID() == 3){
+				gsm.setState(control.GameStateManager.State.HELP_STATE);
+			}
 		}
 		
 		if(e.getButton().getButtonID() == 0)
@@ -329,12 +331,17 @@ public class MenuState extends GameState {
 		g2.drawString("Main Menu", 32, 60);
 		
 		g2.setFont(textFontSmall);
-	
+		
 		//select
 		g2.setColor(GameModel.colors[0]);
+		g2.fillOval(20, 860, 30, 30);
+		g2.drawString("Play", 55, 880);
+
+		//help
+		g2.setColor(GameModel.colors[3]);
 		g2.fillOval(20, 900, 30, 30);
-		g2.drawString("Play", 55, 920);
-		
+		g2.drawString("Help", 55, 920);
+
 		//letters
 		g2.setColor(GameModel.colors[1]);
 		g2.fillOval(20, 940, 30, 30);