📄 maincanvas.java
字号:
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 + -