Menu.java
上传用户:public
上传日期:2010-01-27
资源大小:484k
文件大小:2k
源码类别:

其他游戏

开发平台:

Java

  1. package GameDisplay;
  2. import javax.microedition.lcdui.*;
  3. import javax.microedition.midlet.*;
  4. import javax.microedition.lcdui.Displayable;
  5. import java.io.*;
  6. public class Menu extends Canvas {
  7. private   int cx=0;//cx,cy是画的位置
  8. private   int cy=0;
  9. private   int buttonId=0;//按钮的号
  10. private   int w=0;
  11. private   int h=0;
  12. private   int d=5;
  13. private  Image backImg;
  14. private  Image curImg;
  15. public Menu(){  //构造函数
  16.        w=this.getWidth();
  17.        h=this.getHeight();
  18.       try {
  19.         backImg = Image.createImage("/res/welcome.jpg");
  20.         curImg=Image.createImage("/res/cursor.png");
  21.       }
  22.       catch (IOException ex) {
  23.       }
  24.       cx=(w-backImg.getWidth())/2;
  25.       cy=(h-backImg.getHeight())/2;
  26.   }
  27. public void paint(Graphics g) {
  28.     g.setColor(0x000000);
  29.     g.fillRect(0,0,w,h);
  30.     g.drawImage(backImg,cx,cy,Graphics.LEFT|Graphics.TOP);
  31.     g.drawImage(curImg,cx+40,cy+22*(buttonId+1)+30,Graphics.LEFT|Graphics.TOP);
  32.   }
  33. private void keyUp(){
  34.      if(buttonId<=0){ buttonId=0; }
  35.      else{buttonId--;}//测开始等按钮的位置
  36.   }
  37. private void keyDown(){
  38.       if(buttonId>=d-1){ buttonId=d-1; }
  39.       else{buttonId++;}//测开始等按钮的位置
  40.   }
  41. private void keyFire(){//选择按钮
  42.     switch(buttonId)
  43.           {
  44.           case 0://进入游戏
  45.             Control.showChoiceLevel();
  46.             break;
  47.           case 1://读高分榜
  48.             Control.showHighRecord();
  49.             break;
  50.           case 2://帮助——HelpBox
  51.             Control.showHelp();
  52.             break;
  53.           case 3://关于——AboutBox
  54.            Control.showAbout();
  55.             break;
  56.           case 4://退出——quitApp
  57.           Control.quitApp();
  58.             break;
  59.           default:
  60.             break;
  61.           }//end switch comid
  62.   }
  63. //////////////////////////////////////////////////////////////////
  64.   public void keyPressed(int keyCode)//系统自动侦听按钮
  65.   {
  66.   switch(getGameAction(keyCode))
  67.      {
  68.       case Canvas.UP:
  69.          { keyUp();  break; }
  70.       case Canvas.DOWN:
  71.          {keyDown(); break; }
  72.       case Canvas.FIRE:
  73.          {keyFire(); break;//Canvas.FIRE
  74.       }
  75.         }//end switch  keycode
  76.   repaint();
  77.   }//end keypressed
  78. }