explode.java

来自「坦克大战 有关卡 有显示 有大招 等等 功能」· Java 代码 · 共 69 行

JAVA
69
字号
package leo.tank;

import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;


/**
 * 用于构建爆炸
 * @author 黄思志 030402129
 *
 */
public class Explode {
	int x,y;
	private boolean live = true;
	int step = 0;
	
	private TankWar tw;
	/**
	 * 用来加载图片
	 */
	private static Toolkit tk = Toolkit.getDefaultToolkit();
 		
	private static Image[] imgs = {
			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"))
	};
	
	private static boolean init = false;
	
	public Explode(int x,int y,TankWar tw) {
		this.x = x;
		this.y = y;
		this.tw = tw;
	}
	/**
	 * 自绘方法
	 * @param g
	 */
	public void draw(Graphics g) {
		if(!init) {
			for(int i =0;i < imgs.length;i++) {
				g.drawImage(imgs[i], -100, -100, null);
			}
			init = true;
		}
		if(!live) {
			tw.ep.remove(this);
			return;
		}
		if(step == imgs.length) {
			live = false;
			return;
		}
		g.drawImage(imgs[step], x, y, null);
		step++;
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?