⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 explode.java

📁 基于尚学堂坦克大战的基础上开发,支持多人对战,在线聊天,坦克大战网络版.
💻 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 + -