📄 roleselect.java
字号:
package com.ejoy;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
//Download by http://www.codefans.net
public class RoleSelect extends Canvas /*implements Runnable*/{
private GameMIDlet m_gmid;
// 未选中时头标
private Image img_unsel;
//选中时头标
private Image img_sel;
//背景
private Image img_bg;
//游戏菜单项
public Image curimg;
//帮助图片
public Image helpimg;
//菜单索引
public int curIndex=3;
public boolean isDown=false;
public boolean isHelpShow=false;
//音乐管理器
private AVManager av;
public RoleSelect(GameMIDlet gm)
{
m_gmid=gm;
setFullScreenMode(true);
try
{
img_bg=Image.createImage("/res/menu.png");
img_unsel=Image.createImage("/res/ico_zhangfei_unsel.png");
img_sel=Image.createImage("/res/ico_diaochan.png");
helpimg=Image.createImage("/res/help.png");
curimg=Image.createImage("/res/gop.png");
}
catch(Exception e)
{
e.printStackTrace();
}
av=new AVManager(gm);
av.createPlayer("/res/bg.mid", AVManager.MEDIA_TYPE_MIDI);
av.init();
av.play();
}
public void paint(Graphics g)
{
if(!isHelpShow)
{
g.setColor(0);
g.fillRect(0, 0, getWidth(), GameMIDlet.SCREEN_HEIGHT);
g.drawImage(img_bg, 0, 0, 0);
g.drawImage(img_sel, 109, 29, 0);
g.drawImage(img_unsel,109,124,0);
g.setClip(32, 52, 30, 100);
g.drawImage(curimg, 32-curIndex*30, 52, 0);
g.setClip(0, 0, getWidth(), GameMIDlet.SCREEN_HEIGHT);
}
else
{
g.drawImage(helpimg, 0, 0, 0);
}
}
public void keyPressed(int keyCode)
{
boolean bAction=false;
if(isHelpShow)
{
isHelpShow=false;
repaint();
return;
}
switch(keyCode)
{
case Canvas.KEY_NUM2:
if(isDown)
{
try
{
img_unsel=Image.createImage("/res/ico_zhangfei_unsel.png");
img_sel=Image.createImage("/res/ico_diaochan.png");
}
catch(Exception e)
{
e.printStackTrace();
}
isDown=false;
}
break;
case Canvas.KEY_NUM4:
if(curIndex!=0)
curIndex--;
break;
case Canvas.KEY_NUM6:
if(curIndex!=3)
curIndex++;
break;
case Canvas.KEY_NUM8:
if(!isDown)
{
try
{
img_sel=Image.createImage("/res/ico_diaochan_unsel.png");
img_unsel=Image.createImage("/res/ico_zhangfei.png");
}catch(Exception e)
{
e.printStackTrace();
}
isDown=true;
}
break;
case Canvas.KEY_NUM5:
if(curIndex==3)
{
if(!isDown)
{
m_gmid.gmain=new GameMain(m_gmid,MySprite.ROLE_DC);
m_gmid.disp.setCurrent(m_gmid.gmain);
m_gmid.gmain.cThread=new Thread(m_gmid.gmain);
m_gmid.gmain.cThread.start();
}
else
{
m_gmid.gmain=new GameMain(m_gmid,MySprite.ROLE_ZF);
m_gmid.disp.setCurrent(m_gmid.gmain);
m_gmid.gmain.cThread=new Thread(m_gmid.gmain);
m_gmid.gmain.cThread.start();
}
releaseAllSource();
}
if(curIndex==2)
{
}
if(curIndex==1)
{
isHelpShow=true;
}
if(curIndex==0)
{
m_gmid.exit();
}
break;
default:
bAction=true;
}
if(bAction)
{
switch(getGameAction(keyCode))
{
case Canvas.DOWN:
if(!isDown)
{
try
{
img_sel=Image.createImage("/res/ico_diaochan_unsel.png");
img_unsel=Image.createImage("/res/ico_zhangfei.png");
}catch(Exception e)
{
e.printStackTrace();
}
isDown=true;
}
break;
case Canvas.UP:
if(isDown)
{
try
{
img_unsel=Image.createImage("/res/ico_zhangfei_unsel.png");
img_sel=Image.createImage("/res/ico_diaochan.png");
}
catch(Exception e)
{
e.printStackTrace();
}
isDown=false;
}
break;
case Canvas.LEFT:
if(curIndex!=0)
curIndex--;
break;
case Canvas.RIGHT:
if(curIndex!=3)
curIndex++;
break;
case Canvas.FIRE:
if(curIndex==3)
{
if(!isDown)
{
m_gmid.gmain=new GameMain(m_gmid,MySprite.ROLE_DC);
m_gmid.disp.setCurrent(m_gmid.gmain);
m_gmid.gmain.cThread=new Thread(m_gmid.gmain);
m_gmid.gmain.cThread.start();
}
else
{
m_gmid.gmain=new GameMain(m_gmid,MySprite.ROLE_ZF);
m_gmid.disp.setCurrent(m_gmid.gmain);
m_gmid.gmain.cThread=new Thread(m_gmid.gmain);
m_gmid.gmain.cThread.start();
}
releaseAllSource();
}
if(curIndex==2)
{
}
if(curIndex==1)
{
isHelpShow=true;
}
if(curIndex==0)
{
m_gmid.exit();
}
break;
}
}
repaint();
}
public void showHelp(Graphics g)
{
}
//释放各种资源
public void releaseAllSource()
{
img_sel=null;
img_unsel=null;
curimg=null;
img_bg=null;
av.releaseMediaResource();
System.out.println("releaseAllSource函数调用");
System.gc();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -