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

📄 stateinterface.java

📁 恶魔城-晓月圆舞曲 JAVA手機遊戲
💻 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 + -