?? 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 + -