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

📄 firemancanvas.java

📁 uiOne的介绍 手机以后ui开发的趋向
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
     * drawMain
     *
     * @param g Graphics
     */
    public void drawMainbg(Graphics g) {
        g.drawImage(imgBg, 0, 0, Graphics.LEFT | Graphics.TOP);
        g.drawImage(imgMain, 0, 0, Graphics.LEFT | Graphics.TOP);
    }

    private void drawClip(Graphics g, int x, int y, Image image, int clipX, int clipY, int clipWidth, int clipHeight, int rotate) { //只能用left和top画。只方型有效。长方形待修改
        g.setClip(x, y, clipWidth, clipHeight);
        if(rotate==0)
            g.drawImage(image, x - clipX, y - clipY, 0);
        else{
            DirectGraphics dg=DirectUtils.getDirectGraphics(g);
            switch(rotate){
                case 90:
                    x=x-clipY;
                    y=y-(image.getWidth()-clipX-clipWidth);
                    break;
                case 180:
                    x=x-(image.getWidth()-clipX-clipWidth);
                    y=y-(image.getHeight()-clipY-clipHeight);
                    break;
                case 270:
                    x=x-(image.getHeight()-clipY-clipHeight);
                    y=y-clipX;
                    break;
            }
            dg.drawImage(image, x, y, 0,rotate);
        }
        g.setClip(0, 0, this.w, this.h);
    }


    public void drawRank(Graphics g) {
    }

    public void drawSetup(Graphics g) {
    }

    public void drawHelp(Graphics g) {
    }

    public void drawMenu(Graphics g) {
        drawMenubg(g);
        for (int i = 0; i < 6; i++) {
            if (i == menuCursor) { //选中
                drawClip(g, 35, i * 16 + 25, imgMenu1, 0, 101, 63, 15, 0); //选中光标条
                drawClip(g, 20, i * 16 + 23, imgMenu1, 63, 86, 12, 18, 0); //小人光标
            }
            else {
                drawClip(g, 35, i * 16 + 25, imgMenu1, 0, 86, 63, 15, 0); //未选中条
            }
            drawClip(g, 42, i * 16 + 26, imgMenu, 0, i * 14, 49, 13, 0); //字
        }
    }

    public void drawMode(Graphics g) {
        drawMenubg(g);
        for (int i = 6; i < 8; i++) {
            if (i == menuCursor) { //选中
                drawClip(g, 35, i * 16 - 43, imgMenu1, 0, 101, 63, 15, 0); //选中光标条
                drawClip(g, 20, i * 16 - 45, imgMenu1, 63, 86, 12, 18, 0); //小人光标
            }
            else {
                drawClip(g, 35, i * 16 - 43, imgMenu1, 0, 86, 63, 15, 0); //未选中条
            }
            drawClip(g, 42, i * 16 - 42, imgMenu, 50, i * 14 - 84, 49, 13, 0); //字
        }
    }

    public void drawMenubg(Graphics g) {
        g.setColor(0xffffff);
        g.fillRect(0, 0, w, h);
    }

    public void drawDifficulty(Graphics g) {
        drawMenubg(g);
        for (int i = 8; i < 10; i++) {
            if (i == menuCursor) { //选中
                drawClip(g, 35, i * 16 - 75, imgMenu1, 0, 101, 63, 15, 0); //选中光标条
                drawClip(g, 20, i * 16 - 77, imgMenu1, 63, 86, 12, 18, 0); //小人光标
            }
            else {
                drawClip(g, 35, i * 16 - 75, imgMenu1, 0, 86, 63, 15, 0); //未选中条
            }
            drawClip(g, 42, i * 16 - 74, imgMenu, 50, i * 14 - 84, 49, 13, 0); //字
        }
    }

    public void keyPressed(int keyCode) {
        switch (engine.state) {
            case Engine.MENU_MAIN: //菜单时
                switch (keyCode) {
                    case KEY_DOWN_ARROW:
                        if (menuCursor == 5) {
                            menuCursor = 0;
                        }
                        else {
                            menuCursor++;
                        }
                        break;
                    case KEY_UP_ARROW:
                        if (menuCursor == 0) {
                            menuCursor = 5;
                        }
                        else {
                            menuCursor--;
                        }
                        break;
                    case KEY_SOFTKEY1: //主菜单按确定键
                        switch (menuCursor) {
                            case 0: //开始游戏
                                engine.state = Engine.MENU_MODE;
                                menuCursor = 6; //时间模式
                                engine.level = 1;
                                engine.score = 0;
                                break;
                            case 1: //继续游戏
                                break;
                            case 2: //排行
                                engine.state = Engine.MENU_RANK; //排行榜
                                break;
                            case 3: //选项
                                engine.state = Engine.MENU_SETUP; //选项
                                menuCursor = 9; //选项之声音
                                break;
                            case 4: //帮助
                                engine.state=Engine.MENU_HELP;
                                break;
                            case 5: //退出
                                engine.midlet.notifyDestroyed();
                                break;
                        }
                        break;
                }
                repaint();
                break;
            case Engine.MENU_RANK: //排行榜画面
                if (keyCode == KEY_SOFTKEY1 || keyCode == KEY_SOFTKEY2) {
                    engine.state = 10; //主菜单
                    menuCursor = 2; //排行
                }
                repaint();
                break;
            case Engine.MENU_SETUP: //选项画面
                switch (keyCode) {
                    case KEY_DOWN_ARROW:
                        if (menuCursor == 9) {
                            menuCursor = 10;
                        }
                        break;
                    case KEY_UP_ARROW:
                        if (menuCursor == 10) {
                            menuCursor = 9;
                        }
                        break;
                    case KEY_SOFTKEY1:
                        if (menuCursor == 9) {
                            engine.sound = !engine.sound;
                        }
                        else if (menuCursor == 10) {
                            engine.vibration = !engine.vibration;
                        }
                        break;
                    case KEY_SOFTKEY2:
                        engine.state = 10; //主菜单
                        menuCursor = 3;
                        break;
                }
                repaint();
                break;
            case Engine.MENU_HELP: //帮助画面
                repaint();
                break;
            case Engine.MENU_MODE: //游戏模式选择
                switch (keyCode) {
                    case KEY_DOWN_ARROW:
                        if (menuCursor == 6) {
                            menuCursor = 7;
                        }
                        break;
                    case KEY_UP_ARROW:
                        if (menuCursor == 7) {
                            menuCursor = 6;
                        }
                        break;
                    case KEY_SOFTKEY1:
                        if (menuCursor == 6) {
                            engine.mode = 0;
                        }
                        else if (menuCursor == 7) {
                            engine.mode = 1;
                        }
                        menuCursor = 8;//简单模式
                        engine.state = Engine.MENU_DIFFICULTY; //难度选择
                        break;
                    case KEY_SOFTKEY2:
                        engine.state = Engine.MENU_MAIN; //主菜单
                        menuCursor = 0; //开始游戏
                        break;
                }
                repaint();
                break;
            case Engine.MENU_DIFFICULTY: //游戏难度选择
                switch (keyCode) {
                    case KEY_DOWN_ARROW:
                        if (menuCursor == 8) {
                            menuCursor = 9;
                        }
                        repaint();
                        break;
                    case KEY_UP_ARROW:
                        if (menuCursor == 9) {
                            menuCursor = 8;
                        }
                        repaint();
                        break;
                    case KEY_SOFTKEY1:
                        if (menuCursor == 8) {
                            engine.difficulty = 0;
                        }
                        else if (menuCursor == 9) {
                            engine.difficulty = 1;
                        }
                        engine.state = Engine.INIT_GAME;
                        break;
                    case KEY_SOFTKEY2:
                        engine.state = 14; //模式选择
                        menuCursor = 6; //简单模式
                        repaint();
                        break;
                }
                break;
            default:
                engine.keyPressed(keyCode);
        }

    }
}

⌨️ 快捷键说明

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