In my game, I have created a menu. It has three boxes on it (which are images I added). When the user presses enter for the box iwith "Items", I want it to go to the world called Menu. I can't figure it out. I have a rectangle that moves when the arrow keys are pressed so it highlights the next box when an arrow key is pressed, and that works fine. It it just the going to Menu only when one is selected.
Here is the code:
public class MainMenu extends World
{
//Variable used to keep track of the cursers location for the update method
public static int selection = 0;
//Boolean used to check if user is pressing any of the arrow keys
boolean press;
/**
* Constructor for objects of class Menu.
*
*/
public MainMenu()
{
// Create a new world with 600x400 cells with a cell size of 1x1 pixels.
super(25*48, 14*48, 1);
GreenfootImage Bg = new GreenfootImage ("Background.jpg");
//Scaling the image
Bg.scale (getWidth (), getHeight ());
setBackground (Bg);
//Adding the title
Title title = new Title ();
addObject (title, 610, 122);
//Adding text object for the menu
addObject (new Text ("Pokemon"), 458, 336);
addObject (new Text ("Items"), 872, 336);
addObject (new Text ("Map"), 673, 497);
//Adding the rectangle image for menu selector
MenuSelector selector = new MenuSelector ();
addObject (selector, 458, 336);
}
//Need this for when the user presses enter on the Items box.
public void act(){
if (Greenfoot.isKeyDown("enter")) {
Greenfoot.setWorld(new Menu());
}
}
public void actOne ()
{
if (Greenfoot.isKeyDown ("enter") && Trigger.detected ()) {
WalkingWorld.WorldNumber = 1;
WalkingWorld.CurrentWorld = 1;
Greenfoot.setWorld (new InsideArea (50));
}
Trigger.update("enter");
}
/**
* This method updates the cursor when certain arrow keys are pressed
*/
public void update ()
{
if (!Greenfoot.isKeyDown("up") && !Greenfoot.isKeyDown("down") && !Greenfoot.isKeyDown("left") && !Greenfoot.isKeyDown("right"))
{ press = false;}
if (Greenfoot.isKeyDown("right") && !press && selection > 1){ //If it's on the first one
selection += 1;
press = true;
}
if (Greenfoot.isKeyDown ("down") && !press && selection >1){ //If it's on the first one
selection -= 2;
press= true;
}
if (Greenfoot.isKeyDown("down") && !press && selection < 2) { //If it's the second one
selection -= 1;
press = true;
}
if (Greenfoot.isKeyDown ("left") && !press && selection < 2) { //If it's on the second one
selection -= 1;
press = true;
}
if (Greenfoot.isKeyDown("up") && !press && selection < 3) { //If it's the third one
selection += 2;
press = true;
}
}
}
