浏览代码

- Scorebalk kleur krijgt geen Alpha meer mee
- Scorebalk renderde niet opnieuw wanneer speler score verliest.
- Boot Animatie toegevoegd.
- Nog wat kleine verbeteringen. (reverted from commit d0a91023b39acad3c7e62b68c0882d1104e16b01)

jancoow 10 年之前
父节点
当前提交
b4e7a7c213
共有 5 个文件被更改,包括 97 次插入3 次删除
  1. 4 1
      control/GameStateManager.java
  2. 3 1
      image/Images.java
  3. 二进制
      image/screenshot.png
  4. 1 1
      model/gameState/MenuState.java
  5. 89 0
      model/gameState/PreGameState.java

+ 4 - 1
control/GameStateManager.java

@@ -9,6 +9,7 @@ import model.gameState.GameOverState;
 import model.gameState.GameState;
 import model.gameState.MenuState;
 import model.gameState.PlayState;
+import model.gameState.PreGameState;
 import model.gameState.TitleState;
 import control.button.Button;
 import control.button.ButtonEvent;
@@ -29,7 +30,8 @@ public class GameStateManager {
 		TITLE_STATE,
 		MENU_STATE,
 		PLAY_STATE,
-		GAMEOVER_STATE
+		GAMEOVER_STATE,
+		PRE_GAME_STATE
 	}
 	
 	public GameStateManager(SongHandler sh, SQLConnector sql){
@@ -38,6 +40,7 @@ public class GameStateManager {
 		gamestates.add(new MenuState(this, sh, sql));
 		gamestates.add(new PlayState(this, sh, sql));
 		gamestates.add(new GameOverState(this, sh, sql));
+		gamestates.add(new PreGameState(this,sh, sql));
 		setState(State.TITLE_STATE);
 	}
 	

+ 3 - 1
image/Images.java

@@ -33,6 +33,8 @@ 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/screenshot.png"))));
+		   	
 		} catch (IOException e) {
 			e.printStackTrace();
 		}
@@ -43,7 +45,7 @@ public class Images {
 	}
 
 	public enum ImageType {
-		pulse,cursor,pressstart,colorstrike,background,aanwijzers,kast,gameover
+		pulse,cursor,pressstart,colorstrike,background,aanwijzers,kast,gameover, screenshot
 	}
 
 	public static BufferedImage readImage(File f) {

二进制
image/screenshot.png


+ 1 - 1
model/gameState/MenuState.java

@@ -178,7 +178,7 @@ public class MenuState extends GameState {
 			}
 			if(e.getButton().getButtonID() == 1){
 				sh.close();
-				gsm.setState(control.GameStateManager.State.PLAY_STATE);
+				gsm.setState(control.GameStateManager.State.PRE_GAME_STATE);
 			}
 		}else{										//Screen for selecting song
 			if(e.getButton().getButtonID() == 1){

+ 89 - 0
model/gameState/PreGameState.java

@@ -0,0 +1,89 @@
+package model.gameState;
+
+import image.Images;
+
+import java.awt.BasicStroke;
+import java.awt.Color;
+import java.awt.Font;
+import java.awt.Graphics2D;
+import java.awt.image.BufferedImage;
+
+import model.SongHandler;
+import control.GameStateManager;
+import control.button.ButtonEvent;
+import control.joystick.JoystickEvent;
+import data.io.SQLConnector;
+
+public class PreGameState extends GameState {
+
+	double index2 = 3;
+	double index = 3;
+	double timer;
+	int grootte = 150;
+	BasicStroke s = new BasicStroke(20);
+	
+	BufferedImage screenshot;
+	
+	public PreGameState(GameStateManager gsm, SongHandler sh, SQLConnector sql) {
+		super(gsm, sh, sql);
+		screenshot = Images.getImage(Images.ImageType.screenshot);	
+	}
+
+	@Override
+	public void init() {
+		
+	}
+
+	@Override
+	public void update(float factor) {
+		index2 -= factor/1000;
+		index = (double) Math.round(index2*1000)/1000;
+		if(index <= 0){
+			gsm.setState(control.GameStateManager.State.PLAY_STATE);
+		}
+		
+		if(grootte > 270)
+			grootte = 150;
+		grootte+=2;
+	}
+
+	@Override
+	public void draw(Graphics2D g2) {
+		g2.drawImage(screenshot,0,0,1280,1024,null);
+		Font textFont = new Font("OCR A Extended", Font.BOLD,grootte);		
+		g2.setFont(textFont);
+		g2.setStroke(s);
+		g2.setColor(Color.RED);
+		String text = "" + index;
+		int width = g2.getFontMetrics().stringWidth(text);		
+		g2.drawString(text,  325, 400);
+		if(index < 1){
+			text = "GO!!!";
+		}
+		else if (index < 2){
+			text = "SET";
+		}
+		else{
+			text = "READY";
+		}
+		width =  g2.getFontMetrics().stringWidth(text);
+		g2.drawString(text, (256+1024/2)-width/2, 600);
+	}
+	
+
+	@Override
+	public void buttonPressed(ButtonEvent e) {
+		
+	}
+
+	@Override
+	public void buttonReleased(ButtonEvent e) {
+		
+	}
+
+	@Override
+	public void onJoystickMoved(JoystickEvent e) {
+		
+	}
+
+}