Added main menu for selecting songs
This commit is contained in:
@@ -1,79 +1,50 @@
|
||||
package model.gameState;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Font;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.Polygon;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import model.objects.MenuButton;
|
||||
import control.GameStateManager;
|
||||
import control.button.Button;
|
||||
import control.button.ButtonEvent;
|
||||
import control.joystick.Joystick;
|
||||
import control.joystick.JoystickEvent;
|
||||
|
||||
|
||||
|
||||
public class MenuState extends GameState {
|
||||
|
||||
public Polygon triangle;
|
||||
private ArrayList<MenuButton> buttons;
|
||||
private int selected;
|
||||
|
||||
int page;
|
||||
int x,y;
|
||||
|
||||
public MenuState(GameStateManager gsm) {
|
||||
public MenuState(GameStateManager gsm) {
|
||||
super(gsm);
|
||||
buttons = new ArrayList<MenuButton>();
|
||||
buttons.add(new MenuButton(330,50,1.7,"Genre", 0, Color.green));
|
||||
buttons.add(new MenuButton(330, 150, 1.7, "Most played", 10, new Color(0,0,255)));
|
||||
buttons.add(new MenuButton(330, 250, 1.7, "Best played", 20, Color.red));
|
||||
buttons.add(new MenuButton(330, 350, 1.7, "Last played", 30, Color.yellow));
|
||||
}
|
||||
@Override
|
||||
public void init() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
|
||||
for(MenuButton b:buttons){
|
||||
b.update();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(Graphics2D g2) {
|
||||
|
||||
g2.setColor(Color.BLACK);
|
||||
g2.fillRect(0, 0, 1280, 1024);
|
||||
|
||||
g2.setColor(Color.ORANGE);
|
||||
triangle = new Polygon();
|
||||
triangle.addPoint(0, 0);
|
||||
triangle.addPoint(0, 1024/4);
|
||||
triangle.addPoint(1280/2, 0);
|
||||
g2.fillPolygon(triangle);
|
||||
|
||||
for(int i = 1; i <= 4; i++){
|
||||
g2.fillRect(780, 1124 - 240*i, 500, 100);
|
||||
}
|
||||
|
||||
Font textFont = new Font("OCR A Extended", Font.BOLD, 60);
|
||||
g2.setFont(textFont);
|
||||
g2.setColor(Color.BLACK);
|
||||
|
||||
if(page == 0){
|
||||
g2.drawString("Main Menu", 50, 50);
|
||||
}
|
||||
if(page == 1){
|
||||
g2.drawString("Most Played", 50, 50);
|
||||
}
|
||||
if(page == 2){
|
||||
g2.drawString("Genre", 50, 50);
|
||||
}
|
||||
for(MenuButton b:buttons){
|
||||
b.draw(g2);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void buttonPressed(ButtonEvent e) {
|
||||
|
||||
switch(e.getButton().getButtonID()){
|
||||
case 0:
|
||||
gsm.next();
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@Override
|
||||
public void buttonReleased(ButtonEvent e) {
|
||||
@@ -81,8 +52,27 @@ public class MenuState extends GameState {
|
||||
}
|
||||
@Override
|
||||
public void onJoystickMoved(JoystickEvent e) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
if(e.getJoystick().getPos() == Joystick.Position.DOWN){
|
||||
selected++;
|
||||
selected %= buttons.size();
|
||||
for(int i = 0; i < buttons.size(); i++){
|
||||
if(selected == i){
|
||||
buttons.get(i).setSelected(true);
|
||||
}else{
|
||||
buttons.get(i).setSelected(false);
|
||||
}
|
||||
}
|
||||
}else if(e.getJoystick().getPos() == Joystick.Position.UP){
|
||||
selected--;
|
||||
if(selected < 0) selected = buttons.size()-1;
|
||||
for(int i = 0; i < buttons.size(); i++){
|
||||
if(selected == i){
|
||||
buttons.get(i).setSelected(true);
|
||||
}else{
|
||||
buttons.get(i).setSelected(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user