加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
EnemyObj 1.72 KB
一键复制 编辑 原始数据 按行查看 历史
wishGM 提交于 2022-06-16 19:11 . 124
import main.GameWin;
import utils.GameUtils;
import java.awt.*;
public class EnemyObj extends GameObj {
public EnemyObj() {
super();
}
public EnemyObj(Image img, int x, int y, int width, int height, double speed, GameWin frame) {
super(img, x, y, width, height, speed, frame);
}
@Override
public void paintSelf(Graphics gImage) {
super.paintSelf(gImage);
//敌机坐标
y += speed;
//敌我飞机碰撞检测
if (this.getRec().intersects(this.frame.planeObj.getRec())){
//游戏失败
GameWin.state = 3;
}
//敌机的越界消失;判断条件 y > 600 ;改变后的坐标(-200,-200)
if (y > 600){
this.x = -200;
this.y = 200;
GameUtils.removeList.add(this);
}
//敌机消失前移动到(-200,-200) 我方子弹(-100,100)
//将this与每一个shellobj进行碰撞检测
for (ShellObj shellObj: GameUtils.shellObjList) {
if (this.getRec().intersects(shellObj.getRec())){
//创造爆炸效果
ExplodeObj explodeObj = new ExplodeObj(x,y);
GameUtils.explodeObjList.add(explodeObj);
GameUtils.removeList.add(explodeObj);
//改变碰撞敌机的坐标
shellObj.setX(-100);
shellObj.setY(100);
this.x = -200;
this.y = 200;
GameUtils.removeList.add(shellObj);
GameUtils.removeList.add(this);
GameWin.score++;
}
}
}
@Override
public Rectangle getRec() {
return super.getRec();
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化