Game Action Example : Game « J2ME « Java






Game Action Example

Game Action Example
/*
J2ME: The Complete Reference

James Keogh

Publisher: McGraw-Hill

ISBN 0072227109

*/
//jad file (please verify the jar size)
/*
MIDlet-Name: GameActionExample
MIDlet-Version: 1.0
MIDlet-Vendor: MyCompany
MIDlet-Jar-URL: GameActionExample.jar
MIDlet-1: GameActionExample, , GameActionExample
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
MIDlet-JAR-SIZE: 100

*/
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class GameActionExample extends MIDlet
{
  private Display  display;       
  private MyCanvas canvas;   
  public GameActionExample()
  {
    display = Display.getDisplay(this);
    canvas  = new MyCanvas (this);
  }
  protected void startApp()
  {
    display.setCurrent(canvas);
  }
  protected void pauseApp()
  { 
  }
  protected void destroyApp( boolean unconditional )
  { 
  }
  public void exitMIDlet()
  {
    destroyApp(true);
    notifyDestroyed();
  }
}
class MyCanvas extends Canvas implements CommandListener
{
  private Command exit;          
  private String message;
  private GameActionExample gameActionExample;
  private int x, y;
  public MyCanvas (GameActionExample gameActionExample)
  {
    x = 5;
    y = 5;
    message = "Use Game Keys";    
    this.gameActionExample = gameActionExample;
    exit = new Command("Exit", Command.EXIT, 1);
    addCommand(exit);
    setCommandListener(this);
  } 
  protected void paint(Graphics graphics)
  {
    graphics.setColor(255,255,255);
    graphics.fillRect(0, 0, getWidth(), getHeight());
    graphics.setColor(255, 0, 0);
    graphics.drawString(message, x, y, Graphics.TOP | Graphics.LEFT);
  }
  public void commandAction(Command command, Displayable displayable)
  {
    if (command == exit)
    {
      gameActionExample.exitMIDlet();
     }
  }
  protected void keyPressed(int key)
  {
    switch ( getGameAction(key) ){
     case Canvas.UP:
       message = "up";
       y--;
       break;
     case Canvas.DOWN:
       message = "down";
       y++;
       break;
     case Canvas.LEFT:
       message = "left";
       x--;
       break;
     case Canvas.RIGHT:
       message = "right";
       x++;
       break;
     case Canvas.FIRE:
       message = "FIRE";
       break;
    }
    repaint();
  }
}


           
       








Related examples in the same category

1.Maze gameMaze game
2.Checkers gameCheckers game
3.Game Key EventGame Key Event
4.Sweep GameSweep Game
5.SweepSweep
6.Dungeon game
7.Tumbleweed game
8.Canvas for processing game actionsCanvas for processing game actions