📄 dotsix.java
字号:
package FireFlower;
import java.awt.Color;
import java.awt.Graphics;
import java.util.Random;
import java.util.Vector;
//此式样是直线向前的式样
public class DotSix extends Dot{
public DotSix(Color col,int endX,int endY){
super( col,endX, endY);
pace=20;
}
public LittleDot[] blast() {
int j=-1;
for(int i=0;i<ld.length;i++){
j=-j;
ld[i].x+=(ld[i].x-endPoint.x)/4+j;
ld[i].y+=(ld[i].y-endPoint.y)/4+1;
}
return ld;
}
public LittleDot[] initBlast() {
//初始化粒子
//只要分成20
//初始化爆炸的情况
Random rand=new Random();
for(int i=0;i<ld.length;i++){
int x=rand.nextInt(20);
int y=rand.nextInt(20);
if(Math.random()<0.5){
x=-x;
}
if(Math.random()<0.5){
y=-y;
}
if(x*x+y*y>400){
x-=x/Math.abs(x)*10;
y-=y/Math.abs(y)*10;
}
ld[i]=new LittleDot(x+endPoint.x,y+endPoint.y,col);
}
return ld;
}
public void myPaint(Graphics g,Vector lList){
if(state==1){
g.setColor(col);
g.fillOval(x,y,size,size);
g.fillRect(x+2,y+6,2,4);
}
else if(state==2){
g.setColor(col);
g.fillOval(x,y,size,size);
LittleDot[] ld2=initBlast();
ld=new LittleDot[ld2.length];
ld=ld2;
for(int i=0;i<ld.length;i++){
g.setColor(ld[i].col);
g.drawLine(ld[i].x,ld[i].y,ld[i].x+(ld[i].x-endPoint.x)/2,
ld[i].y+(ld[i].y-endPoint.y)/2);
}
state=3;
}
else if(state==3){
circle++;
//System.out.println(dot.circle);
this.ld=blast();
for(int i=0;i<ld.length;i++){
g.setColor(ld[i].col);
g.drawLine(ld[i].x,ld[i].y,ld[i].x+(ld[i].x-endPoint.x)/circle,
ld[i].y+(ld[i].y-endPoint.y)/circle);
} //for
if(circle==4){circle=7;}
}
else if(state==4){
synchronized(lList){
lList.remove(this);}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -