📄 explosion.java
字号:
import java.awt.*;
//import java.awt.event.*;
//import java.math.*;
public class Explosion
{
int count=0;
int bx, by, bw, bh, steps=4;
boolean isVerticle=false, exploding=false;
Image image=null;
public Explosion(Image image)
{
/*
this.image = image;
bw = image.getWidth(null) / steps;
bh = image.getHeight(null);
//*/
setImage(image);
}
public Explosion(Image image, int steps, boolean isVerticle)
{
setImage(image, steps, isVerticle);
}
public void setSteps(int steps)
{
this.steps = steps;
}
public void setImage(Image image)
{
int steps=4;
boolean isVerticle=false;
setImage(image, steps, isVerticle);
}
public void setImage(Image image, int steps, boolean isVerticle)
{
this.image = image;
this.steps = steps;
this.isVerticle = isVerticle;
if ( isVerticle )
{
bw = image.getWidth(null);
bh = image.getHeight(null) / steps;
}
else
{
bw = image.getWidth(null) / steps;
bh = image.getHeight(null);
}
}
public void explode(int x, int y)
{
bx = x;
by = y;
count=0;
exploding = true;
}
public void show(Graphics g)
{
if ( exploding )
{
if ( isVerticle )
{
g.drawImage(image, bx-bw/2, by-bh/2, bx+bw/2, by+bh/2,
0, count*bh, bw, (count+1)*bh,
null
);
}
else
{
g.drawImage(image, bx-bw/2, by-bh/2, bx+bw/2, by+bh/2,
count*bw, 0, (count+1)*bw, bh,
null
);
}
++count;
if ( count>=steps ) // ЧΘ
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -