***********MenuMID
import javax.microedition.lcdui.Display。
import javax.microedition.midlet.MIDlet。
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* MenuMID为MIDlet主程序
*/
public class MenuMID extends MIDlet{
    private Display display。
    private MenuCanvas canvas。  //声明画布对象canvas
    private MainCanvas mcanvas。
    public MenuMID(){
        display = Display(this)。 //获取Display
        canvas=null。
        mcanvas=null。
        LoadMenu()。            //载入菜单
    }
    protected void startApp(){
    }
    protected void pauseApp() {
    }
    protected void destroyApp(boolean arg0) {
    }
    /* 退出程序 */
    public void exit() {
        ()。        //清理垃圾
        destroyApp(false)。
        notifyDestroyed()。
    }
    /* LoadMenu()函数用于创建菜单画布,并设置为当前显示对象*/
    public void LoadMenu(){
        canvas=null。
        canvas=new MenuCanvas(this)。      //创建菜单对象canvas
        display.setCurrent(canvas)。        //设置canvas为当前显示对象 
    }
    /* LoadMainCanvas()函数用于创建游戏主画布,并设置为当前显示对象*/   
    public void LoadMainCanvas(){
        canvas=null。
        if(mcanvas==null)    //如果没有创建游戏主画布,则先创建
            mcanvas=new MainCanvas(this)。
        display.setCurrent(mcanvas)。
    }
}


**************MainCanvas
import javax.microedition.lcdui.Canvas。
import javax.microedition.lcdui.Graphics。
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/
*
* MainCanvas实现程序主画面
*/
public class MainCanvas extends Canvas {
    private MenuMID mid。        //声明MIDlet对象,以方便调用MIDlet
    /* 构造函数中,将MenuMID作为参数传入 */
    public MainCanvas(MenuMID midlet){
        super()。
        this.setFullScreenMode(true)。  //设置为全屏模式
        mid=midlet。                    //将传入的MenuMID赋给mid
    }
    /* 绘图 */
    protected void paint(Graphics g) {
        //填充背景
        g.setColor(0x00ffffff)。
安卓课程设计源代码
        g.fillRect(0, 0, getWidth(), getHeight())。
        //绘制画面内容
        g.setColor(0x00ff0000)。//设置画笔颜
        g.drawString("游戏开始", getWidth()/2, 50, Graphics.HCENTER|Graphics.BASELINE)。
    }
    /* 响应按键事件,并进行处理*/
    protected void keyReleased(int keyCode) {
        int keyAction=getGameAction(keyCode)。        //通过按键获取游戏动作
        // 检查游戏动作,并作相应处理
        switch(keyAction){
            case Canvas.GAME_A:
                  mid.LoadMenu()。      //调用MIDlet以转到菜单画面
                break。
            case Canvas.GAME_B:
                  it()。          //调用MIDlet以退出程序
                break。
        }
        repaint()。      //重绘
    }
}
***********MenuCanvas
import javax.microedition.lcdui.Canvas。
import javax.microedition.lcdui.Font。
import javax.microedition.lcdui.Graphics。
/*
*  MenuCanvas实现游戏菜单画面
*/
public class MenuCanvas extends Canvas{
    public MenuMID mid。    //声明MIDlet对象,以方便调用MIDlet
    static int CurrMenuID。  //声明当前菜单索引
    static final String StrMenu[]={"开  始","排行榜","设  置","关  于","退  出"}。  //菜单项数组
    static int MenuLocY。      //绘制菜单时第一项的顶端Y坐标
    //定义中等字体
    private Font Font(Font.FACE_SYSTEM,Font.STYLE_PLAIN, Font.SIZE_MEDIUM)。
    //定义加粗中等字体
    private Font Font(Font.FACE_SYSTEM,Font.STYLE_BOLD, Font.SIZE_MEDIUM)。
    //定义加粗大字体
    private Font Font(Font.FACE_SYSTEM,Font.STYLE_BOLD, Font.SIZE_LARGE)。
    /* 在构造函数中进行变量初始化*/
    public MenuCanvas(MenuMID midlet){
        super()。
        setFullScreenMode(true)。        //设置为全屏模式
        this.mid=midlet。                //将传入的MenuMID赋给mid
        CurrMenuID=0。                  //设置开始时的默认菜单项为第1项
        MenuLocY=100。                  //设置菜单项起始Y坐标为100
        repaint()。                      //重绘
    }
    /* 绘制画面内容*/
    protected void paint(Graphics g) {
        //填充背景
        g.setColor(0x00ffffff)。
        g.fillRect(0, 0, getWidth(), getHeight())。
        //绘制标题
        g.setColor(0x00ff0000)。 //设置标题颜
        g.setFont(largeFont)。  //设置字体
        g.drawString("太空之战", getWidth()/2, 50, Graphics.HCENTER|Graphics.BASELINE)。
        //调用drawMenu()函数绘制菜单
        drawMenu(g,CurrMenuID)。
    }
    /* 响应按键事件*/
    protected void keyReleased(int keyCode) {
        int keyAction=getGameAction(keyCode)。        //通过按键获取游戏动作
        // 检查游戏动作,并作相应处理
        switch(keyAction){
            case Canvas.UP:    //选择上一项菜单

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。