📄 enemy.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -