📄 bullet.java.bak
字号:
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;
public class Bullet extends Sprite
{
private int directStatus = 0;
private WallManager wallManager = null;
private EnemyManager enemyManager = null;
private int liveTime = 0;
public Bullet(Image tempBulletImage, WallManager tempWallManager, EnemyManager tempEnemyManager)
{
super(tempBulletImage, War.BULLET_WIDTH, War.BULLET_HEIGHT);
wallManager = tempWallManager;
enemyManager = tempEnemyManager;
}
public void isOverTime()
{
liveTime++;
if (liveTime == War.BULLET_LIVE_TIME)
{
return true;
}
else
{
return false;
}
}
public void setDirectStatus(int tempDirectStatus)
{
directStatus = tempDirectStatus;
}
public int getDirectStatus()
{
return directStatus;
}
public void move()
{
if (directStatus == 0)
{//上
move(0, -War.BULLET_RATE);
if (isLimited())
{
move(0, War.BULLET_RATE);
setDirectStatus(3);
}
}
else if (directStatus == 1)
{
move(0, War.BULLET_RATE);
if (isLimited())
{
move(0, -War.BULLET_RATE);
setDirectStatus(2);
}
}
else if (directStatus == 2)
{
move(-War.BULLET_RATE, 0);
if (isLimited())
{
move(War.BULLET_RATE, 0);
setDirectStatus(0);
}
}
else
{
move(War.BULLET_RATE, 0);
if (isLimited())
{
move(-War.BULLET_RATE, 0);
setDirectStatus(1);
}
}
}
public boolean isLimited()
{
//受墙阻挡
if (wallManager.collidesWith(this))
{
return true;
}
//受边界阻挡
if (getX() < War.WAR_FIELD_LEFT || getX() > War.WAR_FIELD_LEFT + War.WAR_FIELD_WIDTH - War.BULLET_WIDTH || getY() < War.WAR_FIELD_TOP || getY() > War.WAR_FIELD_TOP + War.WAR_FIELD_HEIGHT - War.BULLET_HEIGHT)
{//检查子弹是否超界
return true;
}
return false;
}
public void collidesChecking()
{
if (enemyManager.collidesWith(this))
{
setVisible(false);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -