📄 gm.java
字号:
/*游戏菜单*/
import javax.microedition.lcdui.*;
import java.lang.String;
import com.nokia.mid.ui.*;
public class GM extends FullCanvas implements Runnable
{
public static Image gmenu,menubar,menuText,arrow,text;
public static MGC mgc;//创建一个场景对象
public static MG mg;//创建一个主控制对象
public static byte i;//当前高亮选项的序号
public static Loading ld;
public static boolean playOn,showS;
public Thread loading;
boolean run;
int offset;
public static boolean running;
int b;
static showContent sc=new showContent("NOKIA",176,208,1,1,1,new String[]{},new String[]{});
public GM(MG m)
{
running=true;
//addCommand(start);
//setCommandListener(this);
cI();
playOn=true;
i=0;
repaint();
mg=m;
}
public void start()
{
run=true;
new Thread(this).start();
}
public void run()
{
while(run)
{
try
{
offset++;
if(offset==8)
offset=0;
repaint();
Thread.sleep(40);
}
catch(Exception e)
{
}
}
}
//创建Loading线程
void load()
{
running=false;
ld=null;
ld=new Loading(1);
loading=new Thread(ld);
loading.start();
MG.show(ld);//显示Loading界面。
gmenu=null;
}
//创建游戏菜单需要的图片
public static void cI()
{
SA s=new SA();
if(s.tO())
showS=true;
else
showS=false;
try
{
gmenu=Image.createImage("/introBg.png");
text=Image.createImage("/jianhun.png");
menubar=Image.createImage("/menubar.png");
menuText=Image.createImage("/menuText.png");
arrow=Image.createImage("/arrow.png");
}
catch(java.io.IOException ioe)
{
}
}
//读取进度
void rr()
{
ld=null;
ld=new Loading(0);
loading=new Thread(ld);
loading.start();
MG.show(ld);//显示Loading界面。
gmenu=null;
}
public void keyPressed(int keyCode)
{
int act=getGameAction(keyCode);
switch(act)
{
case LEFT:
if(i>0)
{
i--;
if(!showS&&i==1)
i=0;
else
if(i==3&&playOn)
i=2;
else
if(i==2)
{
if(!showS)
i=0;
else
i=1;
}
}
else
i=6;
repaint();
break;
case RIGHT:
if(i<6)
{
i++;
if(!showS&&i==1)
{
if(playOn)
i=2;
else
i=3;
}
else
if(i==3)
i=4;
}
else
i=0;
repaint();
break;
default:
if(keyCode==-6||getGameAction(keyCode)==8)
{
switch(i)
{
case 0:
load();//开始新游戏
break;
case 1:
SA s=new SA();
if(s.tO())
rr();//读取进度
break;
case 4:
if(mg.t==null)
{
mg.back2=new Command("",Command.BACK,0);
mg.back1=new Command("返回",Command.SCREEN,0);
mg.t=new Form("帮助");
mg.t.append("游戏背景:");
mg.t.append("为完成父亲的遗愿,李景鸿决定前往蓬莱仙岛寻找徐敬业与骆宾王的遗孀,辅助完成复国大业。但一路上困难重重,李景鸿能否顺利到达蓬莱仙岛呢?又能否完成父亲的遗愿呢?");
mg.t.append(" ");
mg.t.append("操作方法:");
mg.t.append("游戏中用方向键和2、4、6、8键控制主角移动以及进行菜单选择,5键或OK键选定, 3键调出/关闭属性菜单,左软键调出操作菜单,可查看帮助信息,保存游戏或回到主菜单。");
mg.t.append(" ");
mg.t.append("关键提示:");
mg.t.append("玩家每次升级将得到一点技能属性用来学习技能,每项技能所能修炼的最高等级受主角等级限制,技能等级越高,效果越显著。使用“召狼”等技能时,召唤出的宠物将被优先攻击。使用技能会消耗主角的“气力”,“回气”技能将耗费一定数量的金钱。主角战死会损失一定比例的经验及金钱。");
mg.t.append("在战斗过程中菜单选项将不会响应。");
mg.t.append(" ");
mg.t.append("招式详解:");
mg.t.append("火球:用内力聚成一个火球,对单个敌人造成极大伤害");
mg.t.append("落星:在天空中形成流星般的巨石,砸向全部敌人");
mg.t.append("风残:耗费自身的血和气来形成一股飓风,对全部敌人造成较大伤害");
mg.t.append("召狼:召唤精灵狼来辅助战斗,生命力较弱但攻击力很强");
mg.t.append("召熊:召唤精灵熊来辅助战斗,攻击力很弱但生命力较强,可以用作战斗中的护盾");
mg.t.append("召龙:召唤神龙来辅助战斗,可以反弹敌人部分攻击并反伤敌人");
mg.t.append("隐身:在数回合内主角将不受攻击,但使用附身或攻击敌人则会失效");
mg.t.append("遁走:从战斗中直接逃走,技能等级高则逃走成功率大");
mg.t.append("附身:召唤影子与主角并肩作战,使主角生命力和攻击力按比例上升");
mg.t.append("回血:恢复主角一定比例的生命力");
mg.t.append("回气:恢复主角一定比例的气力,但要耗费一定量的金钱");
mg.t.append("攻击:使用普通攻击对敌单体造成伤害");
mg.t.addCommand(mg.back2);
mg.t.addCommand(mg.back1);
mg.t.setCommandListener(mg);
mg.show(mg.t);
MG.showHelp=true;
}
break;
case 5://关于游戏
if(mg.t==null)
{
mg.back2=new Command("",Command.BACK,0);
mg.back1=new Command("返回",Command.SCREEN,0);
mg.t=new Form("关于游戏");
mg.t.append("游戏名称:剑魂");
mg.t.append("发行商:联动纳维科技发展有限公司");
mg.t.append("发行商网站:www.mnc.com.cn ");
mg.t.append("客服Email:info@mnc.com.cn");
mg.t.append("客服电话:800-810-8920");
mg.t.addCommand(mg.back2);
mg.t.addCommand(mg.back1);
mg.t.setCommandListener(mg);
mg.show(mg.t);
MG.showHelp=true;
}
case 2:
case 3://音效设置
playOn=!playOn;
if(playOn)
i=2;
else
i=3;
repaint();
break;
case 6:
mg.exit();//退出游戏
break;
default:
break;
}
}
break;
}
}
public void paint(Graphics g)
{
g.drawImage(gmenu,0,0,0);
g.drawImage(text,108-text.getWidth()/2,104-text.getHeight()/2,0);
g.drawImage(menubar,88,150,17);
sc.drawClipImage(g,arrow,40-offset,158,5,10,0,0);
sc.drawClipImage(g,arrow,176-45+offset,158,5,10,5,0);
sc.drawClipImage(g,menuText,60,156,53,14,0,i*14);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -