📄 stateinterface.java
字号:
import java.util.Enumeration;
import javax.microedition.lcdui.*;
public class StateInterface {
private Image roleState,soul,equip;
private Image sEnum,handFlag;
byte face;
static final byte MAIN_STATE = 0;
static final byte SOULE_SET = 1;
static final byte EQUIP = 2;
static final byte ITEM_USE = 3;
static final byte ABILITY = 4;
private byte flashSpeed;
private byte gameSelect;
private byte handFrame;
static byte select;
static byte sx;
static boolean sure;
static byte i;
private final String[] mainIntro = new String[]{
"变更魂的装备。","查看使用道具。","中断游戏","察看敌人情报。",
"变更武器防具等装备。","切换能力类的魂。","变更按键设定。"
};
public StateInterface()
{
roleState = CastleCanvas.createImage("state");
soul = CastleCanvas.createImage("souleList");
equip = CastleCanvas.createImage("equip");
// itemuse = Castle.createImage("itemuse");
// ability = Castle.createImage("ability");
sEnum = CastleCanvas.createImage("stateenum");
handFlag = CastleCanvas.createImage("flagSel");
face = MAIN_STATE;
new Magic(Magic.MAINMAGIC,Magic.FLYDEADHEAD);
}
public byte getFaceIndex()
{
return gameSelect;
}
public void paint(Graphics g)
{
switch(face)
{
case MAIN_STATE:
sx = 0;
drawRoleState(g);
draw_attrib(g);
draw_num(g,CastleCanvas.soma.getLv(),(byte)0,(byte)90,(byte)11);
drawFlag(g,(short)88,(short)8,(short)8);
break;
case SOULE_SET:
drawSouleSet(g);
drawRoleAttrib(g);
drawMagic(g);
drawCurrMagic(g);
if(sure)
{
drawFlag(g,(short)10,(short)8,(short)140);
}
break;
case EQUIP:
drawEquip(g);
drawRoleAttrib(g);
break;
case ITEM_USE:
break;
case ABILITY:
break;
}
}
private void drawMagic(Graphics g)
{
Enumeration n = CastleCanvas.magic.elements();
while(n.hasMoreElements())
{
Magic am = (Magic)n.nextElement();
if(am.needDraw)
{
switch(StateInterface.select)
{
case 0:
if(am.curMagic == Magic.MAINMAGIC)
am.paint(g,am.r,am.c,am);
break;
case 1:
break;
case 2:
break;
}
}
}
}
private void drawCurrMagic(Graphics g)
{
short menuX = 43;
short menuY = 20;
if(CastleCanvas.soma.currMainMagic != null)
{
g.setClip(menuX,menuY,70,20);
g.drawString(CastleCanvas.soma.currMainMagic.getName(),menuX,menuY,CastleCanvas.imgLT);
}
else
{
g.setClip(menuX,menuY,70,20);
g.drawString("————",menuX,menuY,CastleCanvas.imgLT);
}
}
public void sxLeft()
{
sx--;
if(sx<0)
sx = 1;
}
public void sxRight()
{
sx++;
if(sx>1)
sx = 0;
}
public void gameSelectUp(byte min,byte max)
{
gameSelect--;
if(gameSelect<min)
gameSelect = max;
}
public void gameSelectDown(byte min,byte max)
{
gameSelect++;
if(gameSelect>max)
gameSelect = min;
}
public void selectUp(byte min,byte max)
{
select--;
if(select<min)
select = max;
i--;
if(i<0)
i = 2;
}
public void selectDown(byte min,byte max)
{
select++;
if(select>max)
{
select = min;
//道具菜单下拉
}
i++;
if(i>2)
i = 0;
}
private void drawFlag(Graphics g,short start,short px,short y)
{
g.setClip(start+CastleCanvas.handSpeed[handFrame]+sx*60,y+gameSelect*px,20,10);
g.drawImage(handFlag,start+CastleCanvas.handSpeed[handFrame]+sx*60,y+gameSelect*px,CastleCanvas.imgLT);
handFrame++;
handFrame %= CastleCanvas.handSpeed.length;
}
private void drawFlagFalsh(Graphics g,short start,short px,short y)
{
// flashSpeed++;
// flashSpeed %= 2;
// if(flashSpeed == 0)//手指指示闪动
// {
// g.setClip(start+gameSelect*px,y,20,10);
// g.drawImage(handFlag,start+gameSelect*px,y,Castle.imgLT);
// }
}
private void drawRoleState(Graphics g)
{
g.setColor(0xffffff);
g.setFont(CastleCanvas.lagerFace);
g.setClip(0,0,CastleCanvas.screenWidth,CastleCanvas.screenHeight);
g.drawImage(roleState,0,0,CastleCanvas.imgLT);
g.setClip(112,10,48,30);
g.drawImage(sEnum,112-44,10-86,CastleCanvas.imgLT);
g.setClip(112,42,43,22);
g.drawImage(sEnum,112-100,42-86,CastleCanvas.imgLT);
g.setClip(112,10+gameSelect*8,48,8);
g.drawImage(sEnum,112-151,0,CastleCanvas.imgLT);//Y = 10-PY; PY = 10; 10-10 =0;
g.setClip(15,80,140,20);
g.drawString(mainIntro[gameSelect],15,80,CastleCanvas.imgLT);
}
private void drawRoleAttrib(Graphics g)
{
g.setFont(CastleCanvas.blodFace);
g.setColor(0xffffff);
g.setClip(104,89,35,15);
g.drawString(""+CastleCanvas.soma.getStr(),104,89,CastleCanvas.imgLT);
g.setClip(104,98,35,15);
g.drawString(""+CastleCanvas.soma.getCon(),104,98,CastleCanvas.imgLT);
g.setClip(104,107,35,15);
g.drawString(""+CastleCanvas.soma.getInt(),104,107,CastleCanvas.imgLT);
g.setClip(104,116,35,15);
g.drawString(CastleCanvas.soma.getLuck()<10?"0"+CastleCanvas.soma.getLuck():""+CastleCanvas.soma.getLuck(),
104,116,CastleCanvas.imgLT);
g.setClip(104,71,35,15);
g.drawString(""+CastleCanvas.soma.getAtt(),104,71,CastleCanvas.imgLT);
g.setClip(104,80,35,15);
g.drawString(CastleCanvas.soma.getDef()<10?"0"+CastleCanvas.soma.getDef():""+CastleCanvas.soma.getDef(),
104,80,CastleCanvas.imgLT);
g.setFont(CastleCanvas.smallFace);
g.setClip(104,125,40,15);
g.drawString(CastleCanvas.soma.getState(),104,125,CastleCanvas.imgLT);
}
private void drawEquip(Graphics g)
{
g.setClip(0,0,CastleCanvas.screenWidth,CastleCanvas.screenHeight);
g.drawImage(equip,0,0,CastleCanvas.imgLT);
g.setClip(36,5,48,6);
g.drawImage(sEnum,36-151,5-43,CastleCanvas.imgLT);
}
private void drawSouleSet(Graphics g)
{
g.setClip(0,0,CastleCanvas.screenWidth,CastleCanvas.screenHeight);
g.drawImage(soul,0,0,CastleCanvas.imgLT);
g.setClip(26,5,48,6);
g.drawImage(sEnum,26-151,5-11,CastleCanvas.imgLT);
switch(select)
{
case 0:
g.setColor(0xF82850);
g.setClip(33,32,90,1);
g.fillRect(33,32,90,1);
// if()
break;
case 1:
g.setColor(0x00E8F8);
g.setClip(33,32,10,1);
g.fillRect(33,32,10,1);
g.setClip(43,32,1,15);
g.fillRect(43,32,1,15);
g.setClip(43,47,80,1);
g.fillRect(43,47,80,1);
break;
case 2:
g.setColor(0xF8D050);
g.setClip(33,32,10,1);
g.fillRect(33,32,10,1);
g.setClip(43,32,1,30);
g.fillRect(43,32,1,30);
g.setClip(43,62,80,1);
g.fillRect(43,62,80,1);
break;
}
g.setClip(8,27,4,1);
g.fillRect(8,27,10,3);
g.setClip(8,27,2,10);
g.fillRect(8,27,2,10);
g.setClip(8,37,4,1);
g.fillRect(8,37,10,3);
g.setClip(30,27,4,1);
g.fillRect(30,27,10,3);
g.setClip(33,27,2,11);
g.fillRect(33,27,2,11);
g.setClip(30,37,4,1);
g.fillRect(30,37,10,3);
//gold F8D050
//bule 00E8F8
//red F82850
}
private void drawAlter(Graphics g,Object obj)//能力改变
{
}
public void changFace(byte face)
{
this.face = face;
}
private void draw_num(Graphics g,byte lv,byte pos,byte sx,byte sy)
{
short lb = 0;
byte count = 0;
byte curr = pos;
lb = lv;
do
{
byte n = (byte)(lb%10);
g.setClip(sx-count*10,sy,8,12);
g.drawImage(sEnum,sx-n*8-count*10,sy-curr,CastleCanvas.imgLT);
if(lv<10)
{
g.setClip(sx-10,sy,8,12);
g.drawImage(sEnum,sx-10,sy-curr,CastleCanvas.imgLT);
}
count++;
}
while((lb/=10)!=0);
}
private void draw_attrib(Graphics g)
{
g.setColor(0xffffff);
g.setFont(CastleCanvas.blodFace);
g.setClip(45,117,35,15);
g.drawString(""+CastleCanvas.soma.getRealHp(),45,117,CastleCanvas.imgLT);
g.setClip(85,117,35,15);
g.drawString(""+CastleCanvas.soma.getMaxHp(),85,117,CastleCanvas.imgLT);
g.setClip(45,127,35,15);
g.drawString(""+CastleCanvas.soma.getRealMp(),45,127,CastleCanvas.imgLT);
g.setClip(85,127,35,15);
g.drawString(""+CastleCanvas.soma.getMaxMp(),85,127,CastleCanvas.imgLT);
g.setClip(108,123,57,3);
g.drawLine(108,123,165,123);
g.setClip(108,127,57,3);
g.drawLine(108,127,165,127);
g.setClip(108,131,57,3);
g.drawLine(108,131,165,131);
g.setClip(108,135,57,3);
g.drawLine(108,135,165,135);
g.setClip(109,124,56*CastleCanvas.soma.getCurrentHpRatio()/100,3);
g.setColor(0xF87020);
g.fillRect(109,123,56,6);
g.setClip(109,132,56*CastleCanvas.soma.getCurrentMpRatio()/100,3);
g.setColor(0x7878F8);
g.fillRect(109,132,56,6);
g.setColor(0xffffff);
g.setClip(45,140,35,15);
g.drawString(""+CastleCanvas.soma.getStr(),45,140,CastleCanvas.imgLT);
g.setClip(45,149,35,15);
g.drawString(""+CastleCanvas.soma.getCon(),45,149,CastleCanvas.imgLT);
g.setClip(45,158,35,15);
g.drawString(""+CastleCanvas.soma.getInt(),45,158,CastleCanvas.imgLT);
g.setClip(45,167,35,15);
g.drawString(CastleCanvas.soma.getLuck()<10?"0"+CastleCanvas.soma.getLuck():""+CastleCanvas.soma.getLuck(),
45,167,CastleCanvas.imgLT);
g.setClip(125,140,35,15);
g.drawString(""+CastleCanvas.soma.getAtt(),125,140,CastleCanvas.imgLT);
g.setClip(125,149,35,15);
g.drawString(CastleCanvas.soma.getDef()<10?"0"+CastleCanvas.soma.getDef():""+CastleCanvas.soma.getDef(),
125,149,CastleCanvas.imgLT);
g.setClip(115,165,35,15);
g.drawString(""+CastleCanvas.soma.getHour(),115,165,CastleCanvas.imgLT);
g.setClip(140,165,35,15);
g.drawString(""+CastleCanvas.soma.getmin(),140,165,CastleCanvas.imgLT);
g.setClip(155,165,35,15);
g.drawString(""+CastleCanvas.soma.getSec(),155,165,CastleCanvas.imgLT);
g.setClip(115,175,35,15);
g.drawString(""+CastleCanvas.soma.getRateB(),115,175,CastleCanvas.imgLT);
g.setClip(140,175,35,15);
g.drawString(""+CastleCanvas.soma.getRateS(),140,175,CastleCanvas.imgLT);
g.setColor(0xF8D050);
g.setClip(115,184,35,15);
g.drawString(""+CastleCanvas.soma.getGold(),115,184,CastleCanvas.imgLT);
g.setColor(0xffffff);
g.setClip(75,193,35,15);
g.drawString(""+CastleCanvas.soma.getExp(),75,193,CastleCanvas.imgLT);
g.setClip(75,202,35,15);
g.drawString(""+CastleCanvas.soma.getNextExp(),75,202,CastleCanvas.imgLT);
g.setFont(CastleCanvas.smallFace);
g.setClip(38,176,40,15);
g.drawString(CastleCanvas.soma.getState(),38,176,CastleCanvas.imgLT);
//F8D050
// 血 F87020 蓝 7878F8
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -