📄 explode.java
字号:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
/**
* 爆炸类,当坦克爆炸时调用
* @author Nightelf暗夜精灵
*
*/
public class Explode {
int x, y;
private boolean live = true;
private TankClient tc ;
private static Image[] imgs =null;
private static Toolkit tk = Toolkit.getDefaultToolkit();
private boolean init =false; //定义预先加载爆炸的图片
static {
/* imgs =new Image[]{
tk.getImage(Explode.class.getClassLoader().getResource("images/0.gif")),
tk.getImage(Explode.class.getClassLoader().getResource("images/1.gif")),
tk.getImage(Explode.class.getClassLoader().getResource("images/2.gif")),
tk.getImage(Explode.class.getClassLoader().getResource("images/3.gif")),
tk.getImage(Explode.class.getClassLoader().getResource("images/4.gif")),
tk.getImage(Explode.class.getClassLoader().getResource("images/5.gif")),
tk.getImage(Explode.class.getClassLoader().getResource("images/6.gif")),
tk.getImage(Explode.class.getClassLoader().getResource("images/7.gif")),
tk.getImage(Explode.class.getClassLoader().getResource("images/8.gif")),
tk.getImage(Explode.class.getClassLoader().getResource("images/9.gif")),
tk.getImage(Explode.class.getClassLoader().getResource("images/10.gif")),
tk.getImage(Explode.class.getClassLoader().getResource("images/11.gif"))
};*/
imgs =new Image[]{
tk.getImage(Explode.class.getClassLoader().getResource("images/explode4.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/explode5.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/explode6.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/explode7.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/explode8.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/explode9.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/explode10.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/explode11.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/explode12.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/explode13.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/explode14.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/explode15.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/explode16.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/explode17.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/explode18.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/explode19.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/explode20.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/explode21.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/explode22.png")),
tk.getImage(Explode.class.getClassLoader().getResource("images/explode23.png"))
};
}
int step = 0;
public Explode(int x, int y, TankClient tc) {
this.x = x;
this.y = y;
this.tc = tc;
}
//画出爆炸效果
public void draw(Graphics g) {
if(!init){
for(int i=0; i<imgs.length;i++){
g.drawImage(imgs[i],x,y,null);
init=true;
}
}
if(!live) {
tc.explodes.remove(this);
return;
}
if(step == imgs.length) {
live = false;
step = 0;
return;
}
g.getColor();
g.setColor(Color.GREEN);
g.drawRect(0, 0, TankClient.DEFAULT_WIDTH, TankClient.DEFAULT_HEIGHT);
g.drawImage(imgs[step], x, y, null);
step ++;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -