📄 bullet.java
字号:
package com.lovo.pig.model;
import java.awt.Graphics;
import java.awt.Rectangle;
import com.lovo.pig.view.MainFrame;
public class Bullet {
private MainFrame mf;
//子弹位置
public int x = 680,y;
//子弹是否可见(飞出窗口或击中目标时不可见)
public boolean visible = true;
public Bullet(MainFrame mf,int y){
this.mf = mf;
this.y = y;
}
/**
* 绘制子弹
* @param g
*/
public void draw(Graphics g) {
//可见时绘制子弹
if(visible){//加20校正误差
g.drawImage(mf.images.getImgBullet(),x,y,null);
}else{//不可见时清除子弹
mf.bullets.remove(this);
}
move();
}
/**
* 移动
*/
public void move(){
if(x >= 0){//未出窗口时移动
x = x - 25;
}else if(x < 0){//飞出窗口时设为不可见
visible = false;
}
}
/**
* 返回子弹边界矩形,用于碰撞检测
* @return
*/
public Rectangle getRect(){
Rectangle rect = new Rectangle(x,mf.currentPig.pigY,
mf.images.getImgBullet().getWidth(null),
mf.images.getImgBullet().getHeight(null)
);
return rect;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -