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

📄 maincanvas.java

📁 经典java手机游戏J2me(Rpj游戏)
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                    m_text.setText(0, "诺奇奥尼:嗯…好的。");
                    break;
                case 22:
                    m_text.setText(0, "霍恩:等一下……自从");
                    m_text.setText(1, "你们的岛被破坏后,村");
                    m_text.setText(2, "子附近有了许多奇怪的");
                    break;
                case 23:
                    m_text.setText(0, "怪物,这是一把我精心");
                    m_text.setText(1, "打造的剑,你先拿去防");
                    m_text.setText(2, "身用。");
                    break;
                case 24:
                    m_text.setText(0, "诺奇奥尼:嗯,谢谢,");
                    m_text.setText(1, "我会注意的。");
                    m_text.setCanEnd(true);     //与霍恩第一次对话结束
                    m_process = 2;
                    break;
                case 25:    //========= 与霍恩第二次对话
                    m_text.setText(0, "霍恩:快去吧,救人要");
                    m_text.setText(1, "紧。");
                    m_text.show();
                    m_text.setCanEnd(true);     //此次对话结束
                    break;
                case 26:    //========= 与阿美第三次对话
                    m_text.setText(0, "阿美:胡尔那人性格虽");
                    m_text.setText(1, "然孤僻,但是他内心里");
                    m_text.setText(2, "挺善良的。");
                    m_text.show();
                    m_text.setCanEnd(true);     //此次对话结束
                    break;
                case 27:    //========= 与胡尔第一次对话
                    m_text.setText(0, "诺奇奥尼:请问你是胡");
                    m_text.setText(1, "尔吗?");
                    m_text.show();
                    break;
                case 28:
                    m_text.setText(0, "胡尔:小子,问这个干");
                    m_text.setText(1, "嘛?想打架吗?");
                    break;
                case 29:
                    m_text.setText(0, "诺奇奥尼:误会误会,");
                    m_text.setText(1, "我是请你帮我救人的…");
                    m_text.setText(2, "…");
                    break;
                case 30:
                    m_text.setText(0, "胡尔:救人?天天都有");
                    m_text.setText(1, "人要我帮他们救人!我");
                    m_text.setText(2, "为什么要帮你?");
                    break;
                case 31:
                    m_text.setText(0, "诺奇奥尼:求求你了,");
                    m_text.setText(1, "她对我非常重要!你想");
                    m_text.setText(2, "要什么我都能答应!");
                    break;
                case 32:
                    m_text.setText(0, "胡尔:她?又是个痴情");
                    m_text.setText(1, "的人!好吧,看你那么");
                    m_text.setText(2, "痴情就帮你吧!");
                    break;
                case 33:
                    m_text.setText(0, "诺奇奥尼:谢谢你了!");
                    break;
                case 34:
                    m_text.setText(0, "胡尔:先别谢的那么快");
                    m_text.setText(1, ",你要答应我件事,在");
                    m_text.setText(2, "附近的河旁有个叫萨耶");
                    break;
                case 35:
                    m_text.setText(0, "的人,他打赌输了欠我");
                    m_text.setText(1, "一种药材。你帮我要过");
                    m_text.setText(2, "来!");
                    break;
                case 36:
                    m_text.setText(0, "诺奇奥尼:成!好的!");
                    m_text.setCanEnd(true);     //与胡尔第一次对话结束
                    m_process = 3;
                    break;
                case 37:    //========== 与胡尔第二次对话
                    m_text.setText(0, "胡尔:站在这傻愣干嘛");
                    m_text.setText(1, ",还不快去!");
                    m_text.show();
                    m_text.setCanEnd(true);     //此次对话结束
                    break;
                case 38:    //========== 与萨耶第一次对话
                    m_text.setText(0, "诺奇奥尼:你就是萨耶");
                    m_text.setText(1, "?");
                    m_text.show();
                    break;
                case 39:
                    m_text.setText(0, "萨耶:嗯,就是我!");
                    break;
                case 40:
                    m_text.setText(0, "诺奇奥尼:那就好了~");
                    m_text.setText(1, "是胡尔叫我来的,他说");
                    m_text.setText(2, "你欠他一种药材,叫我");
                    break;
                case 41:
                    m_text.setText(0, "帮他拿过去!");
                    break;
                case 42:
                    m_text.setText(0, "  …………");
                    break;
                case 43:
                    m_text.setText(0, "欲知后事如何");
                    m_text.setText(1, "    请听下回分解");
                    m_text.setCanEnd(true);     //此次对话结束
                    m_process = 4;
                    m_slide.setSlideState(2);
                    break;
                case 44:
                    m_text.setText(0, "…………");
                    m_text.show();
                    m_text.setCanEnd(true);     //此次对话结束
                    break;
                case 45:
                    m_text.setText(0, "");
                    break;
                case 46:
                    m_text.setText(0, "");
                    break;
                case 47:
                    m_text.setText(0, "");
                    break;
                case 48:
                    m_text.setText(0, "");
                    break;
                case 49:
                    m_text.setText(0, "");
                    break;
                case 50:
                    m_text.setText(0, "");
                    break;
            }
            m_dialogOn = false;
        }
        if (m_text.getTextState() == 3 && m_confirm == true)
        {
            m_dialogID++;
            m_dialogOn = true;
            m_confirm  = false;
        }
    }
    
    public void SwitchScene()
    {
        switch (m_slide.getSlideState())
        {
            case 0: //没有渐变,继续判断主角是否走到场景切换点
                switch (m_scene)
                {
                    case 0:     //战斗页面
                        break;
                    case 1:     //在大地图中( 1 号地图)
                        if (m_player.getNextGrid() == 15 ||
                            m_player.getNextGrid() == 14)
                        {
                            m_toScene = 2;  //开始渐变,渐变完进入场景 2
                            m_slide.setSlideState(2);
                        }
                        
                        //当在泉水附近并面向泉水时,饮用泉水,恢复体力
                        if (m_player.getNextGrid() == 39 && m_player.getFaceDir() == 1||
                            m_player.getNextGrid() == 39 && m_player.getFaceDir() == 2||
                            m_player.getNextGrid() == 40 && m_player.getFaceDir() == 1||
                            m_player.getNextGrid() == 45 && m_player.getFaceDir() == 2||
                            m_player.getNextGrid() == 45 && m_player.getFaceDir() == 3||
                            m_player.getNextGrid() == 46 && m_player.getFaceDir() == 3)
                        {
                            if (m_confirm)  //按下确定时
                            {
                                //提示身体恢复
                                if (m_text.getTextState() == 0) //此时没有显示文本时
                                {
                                    m_text.emptyText();
                                    m_text.setText(0, "啊,这小泉水真甜!");
                                    m_text.setText(1, "混身顿时一身轻松。");
                                    m_text.show();
                                    m_text.setCanEnd(true);
                                }
                                m_player.restoreHPMP(); //恢复生命体力
                                m_confirm = false;
                            }
                        }
                        break;
                    case 2:     //在房间中( 2 号地图)
                        if (m_player.getNextGrid() == 86 ||    //在门口处
                            m_player.getPosX() == 120 && m_player.getPosY() == 100 && m_player.getFaceDir() == 2 ||
                            m_player.getPosX() == 120 && m_player.getPosY() == 92  && m_player.getFaceDir() == 2 ||
                            m_player.getPosX() == 128 && m_player.getPosY() == 96  && m_player.getFaceDir() == 2)
                        {
                            m_toScene = 1;  //开始渐变,渐变完进入场景 1
                            m_slide.setSlideState(2);
                        }
                        break;
                }
                break;
            case 1: //渐入(由暗变亮)
            case 2: //渐出(由亮变暗)
                if (m_switchFightState == 1 ||
                    m_switchFightState == 2)
                    m_slide.slideScene(0x00FF0000, 34); //触发战斗,渐变为红色,速度较快
                else
                    m_slide.slideScene(0x00000000, 17); //其它情况,渐变为黑色,速度较慢
                break;
            case 3: //变暗后转换场景
                if (m_process == 4 && m_text.getTextState() == 0)     //是否剧情结束
                {
                    m_gamePage = 0; //设为菜单页
                    m_menu.setGameStarted(false);
                    return;
                }
                switch (m_toScene)
                {
                    case 0: //场景与战斗画面的切换
                        if (m_switchFightState == 1)    //场景->战斗,亮->暗
                        {
                            m_toScene = m_sceneAfterFight;    //先保存战斗前所在的场景号
                            m_switchFightState = 2;           //进入战斗画面前也有渐变
                            m_slide.setSlideState(1);         // 暗 -> 亮
                        }
                        else if (m_switchFightState == 3)   //战斗->场景,亮->暗
                        {
                            m_switchFightState = 4;     //进入场景页面也有渐变
                            m_slide.setSlideState(1);   // 暗 -> 亮
                        }
                        break;
                    case 1: //即将切换到 1 号地图
                        m_player.loadScene(m_scene, 1);  //切换到 1 号地图
                        m_scene = 1;
                        m_slide.setSlideState(1);   //切换完场景,开始渐变
                        break;
                    case 2: //即将切换到 2 号地图
                        m_player.loadScene(m_scene, 2);
                        m_scene = 2;
                        m_slide.setSlideState(1);   //切换完场景,开始渐变
                        break;
                }
                m_slide.slideScene(0x00000000, 17);
                break;
        }
    }
    
    public void keyPressed(int key)
    {
        if (getGameAction(key) == Canvas.FIRE)
        {
            System.out.println("FIRE!!!");
        }
        if (m_slide.getSlideState() == 0)   //只有在没有渐变的情况下才可以响应按键信息
        {
            if (m_firstBoot)
            {
                m_firstBoot = false;
                m_dialogOn  = true;
            }
            switch (getGameAction(key))
            {
                case Canvas.FIRE:
                    m_confirm = true;   //按下确定
                    break;
            }
            switch (m_gamePage)
            {
                case 0:     //菜单页
                    m_menu.keyPressed(getGameAction(key));
                    break;
                case 1:     //游戏页
                    if (m_text.getTextState() == 0) //不显示对话框时才能响应
                        m_player.keyPressed(getGameAction(key));
                    m_text.keyPressed(getGameAction(key));
                    break;
            }
        }
    }
    
    public void keyReleased(int key)
    {
        m_player.keyReleased(getGameAction(key));
        m_confirm = false;
    }

}

⌨️ 快捷键说明

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