⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gamemenu.java

📁 关于j2me的宠物游戏!!!!!!!!!!! 希望打架提出意见
💻 JAVA
字号:
/*
 * GameMenu.java
 *
 * Created on 2006年5月5日, 上午11:18
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package DogPet;

import javax.microedition.lcdui.*;

//            Game_control

public class GameMenu extends FullCanvas  //继承全屏类,来实现全屏???????????????????为什么没有实现全屏
{
    private Game_control game_control;
    private Image image_bg;
    private int sel;//用来判断到了菜单项的第几项
    private int event;
    private String option[];

    public GameMenu(Game_control gc)
    {
        image_bg = null;
        sel = 1;
        event = -1;
        option = new String[4];
        game_control = gc;
        option[0] = "开始游戏!";
        option[1] = "继续游戏!";
        option[2] = "游戏说明!";
        option[3] = "离开游戏!";
        try
        {
            if(image_bg == null)
                image_bg = Image.createImage("/splash1.png");//**********创建宠物菜单图片**********
        }
        catch(Exception ex) {
            System.out.println("加载图片失败!可能文件不存在或者受到损坏!");
        }
    }

    public void paint(Graphics g)
    {
        g_cls(g, 255); //RGB值全为0表示黑色,为255表示白色
        g.setColor(0);//将游戏菜单背景显示为黑色
        g.fillRect(45, 65, 120, 120);//距离屏幕的左上右下_______设置菜单区域大小
        g.setColor(0);
        g.setColor(0xffff00);
        g.drawRect(47, 67, 116, 116);//设置菜单区域的内外黄色边框
        g.drawRect(45, 65, 120, 120);
        g.setColor(0xffffff);
        g.drawString("游戏选项!", 65, 90, 20);
        g.setColor(65280);//******此处为设置隔离条的颜色为绿色******
        g.drawRect(65, 105, 80, 2);//******设置隔离条的大小,前两者为距离屏幕左边和上边的距离,后两者为隔离条的长和高
        for(int i = 0; i < option.length; i++)//*********按键指向哪一个,哪一个就变成红色*********
        {
            g.setColor(0xffffff);//将字体都设置为白色
            if(i == sel)
                g.setColor(0xff0000);
            g.drawString(option[i], 65, 110 + i * 15, 20);//左上  20的作用是什么????说明开始位置是左上角??????为什么不能修改为别的值?????
        }

    }

    protected void keyPressed(int keyCode)
    {
        int action = getGameAction(keyCode);
        switch(action)
        {
        default:
            break;

        case 1: // '\001'
            sel = sel - 1;
            if(sel < 0)
                sel = option.length - 1;
            repaint();
            break;

        case 6: // '\006'
            sel = sel + 1;
            if(sel >= option.length)  //如果到了菜单项的最后一个则转到第一个
                sel = 0;
            repaint();
            break;

        case 8: // '\b'
            if(event != -1)
                break;
            event = sel;
            switch(sel)
            {
            case 0: // '\0'
                game_control.newgame();
                break;

            case 1: // '\001'
                game_control.loadgame();
                break;

            case 2: // '\002'
                game_control.helpgame();
                break;

            case 3: // '\003'
                game_control.endgame();
                break;
            }
            break;
        }
    }

    public void g_cls(Graphics g, int setcolor)//该方法用来实现绘制图像和设置背景颜色
    {
        g.setColor(setcolor); //根据setcolor的当前值来设定当前背景颜色
        g.fillRect(0, 0, getWidth(), getHeight());//用当前颜色来填充其中参数制定的填充区域,也就是背景颜色===蓝色*****
        g.drawImage(image_bg, 25, 30, 20);//绘制图像,在指定区域******常用的值有0或20:左上,17:正中间,24:右上,36:左下,40:右下
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -