enemy.java

来自「恶魔城-晓月圆舞曲 JAVA手機遊戲」· Java 代码 · 共 92 行

JAVA
92
字号
import javax.microedition.lcdui.*;

public abstract class Enemy extends RoleBase{
	static Image enemy =  CastleCanvas.createImage("enemy");
	byte enemyState;
	protected short brTime;
	protected long brTimeBegin;
	protected boolean isBruise = true;
	byte exp;

	short[][] dead  = new short[][]{
			{0,53,16,69,0,0,0,0},
			{17,53,30,69,0,0,0,0},
			{33,53,46,68,0,0,0,0},
			{49,53,63,69,0,0,0,0},
			{65,53,79,69,0,0,0,0}
	};
	static long random;
	public byte getExp()
	{
		return exp;
	}
	public void move()
	{
		if(dir)//控制方向 TRUE为右 FALSE为左
		{
			roleX += speed;
			mapX = CastleCanvas.map.getPosX();
			x = (short)(roleX-mapX);
			if(isTouchBack())
				roleX -= speed;
		}
		else
		{
			roleX -= speed;
			mapX = CastleCanvas.map.getPosX();
			x = (short)(roleX-mapX);	
			if(isTouchBack())
				roleX += speed;
		}
	}
	protected abstract boolean isDead();
	protected void changState(byte state)
	{
		lastState = enemyState;
		frame = 0;
		enemyState = state;
		maxFrame = (byte)actionFrame[state];
	}
	protected void tickEnemyXY()
	{
		x = (short)(roleX-CastleCanvas.map.getPosX());
		y = (short)(roleY-CastleCanvas.map.getPosY());
	}
	protected void changWaitState(byte state)
	{	
		if(isOneTimes())
		{
			lastState = enemyState;
			enemyState = state;
			frame = 0;
			maxFrame = (byte)actionFrame[state];
		}
	}
	protected void changWaitState(byte state,byte f)
	{	
		if(isOneTimes())
		{
			lastState = enemyState;
			enemyState = state;
			frame = f;
			maxFrame = (byte)actionFrame[state];
		}
		
	}
	protected boolean brState()//受伤状态的硬直时间
	{
		if(isBruise)
		{
			isBruise = false;
			brTimeBegin = System.currentTimeMillis();
			return true;
		}
		if(System.currentTimeMillis()-brTimeBegin>brTime)
		{
			isBruise = true;
		}
		return false;
	}
	public abstract void paint(Graphics g);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?