Android Open Source - Hungry-Mouse Main Menu Screen






From Project

Back to project page Hungry-Mouse.

License

The source code is released under:

MIT License

If you think the Android project Hungry-Mouse listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

//Name:   MainMenuScreen.java
//Purpose:  create the menu screen with many options
/*from   ww  w  .ja  v  a 2 s .  c o m*/
package com.hungry.mouse.main;

import com.hungry.mouse.framework.Game;
import com.hungry.mouse.framework.Graphics;
import com.hungry.mouse.framework.Screen;
import com.hungry.mouse.framework.Input.TouchEvent;
import com.hungry.mouse.main.Assets;
import com.hungry.mouse.main.AboutScreen;

//java libraries
import java.util.List;//a collection which maintain an ordering for its elements

public class MainMenuScreen extends Screen {
  
  //constructor
  public MainMenuScreen(Game game) {
    super(game);
  }

  //touch event checking
  @Override
  public void update(float deltaTime) {
    Graphics g = game.getGraphics();
    List<TouchEvent> touchEvents = game.getInput().getTouchEvents();

    int len = touchEvents.size();
    for (int i = 0; i < len; i++) {
      TouchEvent event = touchEvents.get(i);
      
      if (event.type == TouchEvent.TOUCH_UP) {
        
        //sound options
        if (inBounds(event, 16, 368, 96, 96)) {
                    Settings.soundEnabled = !Settings.soundEnabled;
                     if (Settings.soundEnabled)
                     Assets.click.play(1);
          }        
        //gyroscope options
        
        if (inBounds(event, 112, 368, 96, 96)) {
                    Settings.gyroscopeEnabled = !Settings.gyroscopeEnabled;
                     if (Settings.soundEnabled)
                     Assets.click.play(1);
                     }
        
        if (inBounds(event, 224, 176, 352, 128)) {
                   game.setScreen(new LevelSelectorScreen(game));//change screen when button pressed
                   if (Settings.soundEnabled)
                   Assets.click.play(1);
        }
        if (inBounds(event, 688, 368, 96, 96)) {
          game.setScreen(new AboutScreen(game));//change screen when button pressed
          if (Settings.soundEnabled)
          Assets.click.play(1);
        }
        if (inBounds(event, 592, 368, 96, 96)) {
          game.setScreen(new HelpScreen1(game));//change screen when button pressed
          if (Settings.soundEnabled)
          Assets.click.play(1);
        }        

      }
      
    }
    Settings.save(game.getFileIO());//save the changes
  }

  //create rectangles with coordinates that will be used to track touches
  private boolean inBounds(TouchEvent event, int x, int y, int width,
      int height) {
    if (event.x > x && event.x < x + width - 1 && event.y > y
        && event.y < y + height - 1)
      return true;
    else
      return false;
  }

  //draw graphics
  @Override
  public void paint(float deltaTime) {
    Graphics g = game.getGraphics();
    g.drawImage(Assets.menu, 0, 0);

    g.drawImage(Assets.logo,  224, 16);    
    g.drawImage(Assets.menu_buttons,  224, 176, 0, 0, 352, 128);//play button (show the 1/3 of image)
    
    if (Settings.soundEnabled){
    g.drawImage(Assets.sound_on_buttons,  16, 368, 0, 0, 96, 96);
    } else {
      g.drawImage(Assets.sound_on_buttons,  16, 368, 0, 96, 96, 96);      
    }
    
    
    if (Settings.gyroscopeEnabled){
    g.drawImage(Assets.gyroscope_buttons,  112, 368, 0, 96, 96, 96);
    } else
    {
      g.drawImage(Assets.gyroscope_buttons,  112, 368, 0, 0, 96, 96);    
    }
    
    g.drawImage(Assets.info_buttons,  592, 368, 0, 0, 96, 96);
    g.drawImage(Assets.info_buttons,  688, 368, 0, 96, 96, 96);    

  }

  @Override
  public void pause() {
    Settings.save(game.getFileIO());//save the changes
  }

  @Override
  public void resume() {

  }

  @Override
  public void dispose() {

  }

  //kill all process including all activities
  //prefered than finish() to free up memory
  @Override
  public void backButton() {
    
    //kill the process with the given PID and free up memory
        android.os.Process.killProcess(android.os.Process.myPid());

  }
}




Java Source Code List

com.hungry.mouse.framework.Audio.java
com.hungry.mouse.framework.FileIO.java
com.hungry.mouse.framework.Game.java
com.hungry.mouse.framework.Graphics.java
com.hungry.mouse.framework.Image.java
com.hungry.mouse.framework.Input.java
com.hungry.mouse.framework.Music.java
com.hungry.mouse.framework.Pool.java
com.hungry.mouse.framework.Screen.java
com.hungry.mouse.framework.Sound.java
com.hungry.mouse.framework.implementation.AccelerometerHandler.java
com.hungry.mouse.framework.implementation.AndroidAudio.java
com.hungry.mouse.framework.implementation.AndroidFastRenderView.java
com.hungry.mouse.framework.implementation.AndroidFileIO.java
com.hungry.mouse.framework.implementation.AndroidGame.java
com.hungry.mouse.framework.implementation.AndroidGraphics.java
com.hungry.mouse.framework.implementation.AndroidImage.java
com.hungry.mouse.framework.implementation.AndroidInput.java
com.hungry.mouse.framework.implementation.AndroidMusic.java
com.hungry.mouse.framework.implementation.AndroidSound.java
com.hungry.mouse.framework.implementation.MultiTouchHandler.java
com.hungry.mouse.framework.implementation.SingleTouchHandler.java
com.hungry.mouse.framework.implementation.TouchHandler.java
com.hungry.mouse.main.AboutScreen.java
com.hungry.mouse.main.Animation.java
com.hungry.mouse.main.Assets.java
com.hungry.mouse.main.Background.java
com.hungry.mouse.main.Bomb.java
com.hungry.mouse.main.Cheese.java
com.hungry.mouse.main.Enemy.java
com.hungry.mouse.main.GameScreen.java
com.hungry.mouse.main.HelpScreen1.java
com.hungry.mouse.main.HelpScreen2.java
com.hungry.mouse.main.HelpScreen3.java
com.hungry.mouse.main.HelpScreen4.java
com.hungry.mouse.main.Kamikazi.java
com.hungry.mouse.main.LevelSelectorScreen.java
com.hungry.mouse.main.LoadingScreen.java
com.hungry.mouse.main.MainMenuScreen.java
com.hungry.mouse.main.Mouse.java
com.hungry.mouse.main.Projectile.java
com.hungry.mouse.main.Rewards.java
com.hungry.mouse.main.SampleGame.java
com.hungry.mouse.main.Settings.java
com.hungry.mouse.main.Sign.java
com.hungry.mouse.main.SplashLoadingScreen.java
com.hungry.mouse.main.Tile.java