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

📄 dotfive.java

📁 用JAVA写个一个烟花效果
💻 JAVA
字号:
package FireFlower;
import java.awt.Color;
import java.util.Random;

//此式样是分成四条直线,然后转
public class DotFive extends Dot{
	
	public  DotFive (Color col,int endX,int endY){
		super( col,endX, endY);
		
		pace=20;
	}
	
	public  double qiu(int data1,int data2){
		       int xx=Math.abs(data1-endPoint.x);
		       int yy=Math.abs(data2-endPoint.y);
		return  Math.sqrt(xx*xx+yy*yy);
	}
	
	public LittleDot[] blast() {
		 for(int i=0;i<ld.length;i++){
			 int lineLong=(int)qiu(ld[i].x,ld[i].y)/3;
			 
			 int level=0;
			 
			 if(ld[i].x<=endPoint.x){
				 if(ld[i].y<=endPoint.y){
					 level=1;
				 }
				 
				 else level=2;
			 }
			 
			 
			 else {
				 
				 if(ld[i].y<=endPoint.y){
					 level=3;
				 }
				 
				 else level=4;
			 }
			 
			 
			 switch(level){
			 case 1:{
				 ld[i].x+=lineLong/4;
				 ld[i].y-=lineLong/2;
				 
			 }break;
			 
			 case 4:{
				 ld[i].x-=lineLong/4;
				 ld[i].y+=lineLong/2;
			 }break;
			 
			 case 3:{
				 ld[i].x+=lineLong/2;
				 ld[i].y+=lineLong/4;
			 }break;
			 
			 case 2:{
				 ld[i].x-=lineLong/2;
				 ld[i].y-=lineLong/4;
			 }break;
			 
			 }
			 
		 }
		
		return ld;
	}

	public LittleDot[] initBlast() {
//		初始化爆炸的情况,初始化爆炸得粒子
		Random rand=new Random();
		
		int[]  lineOne=new   int[]{endPoint.x-50,endPoint.y}; 
		int[]  lineTwo=new   int[]{endPoint.x+50,endPoint.y};
		int[]  lineThree=new  int[]{endPoint.x,endPoint.y-50};
		int[]  lineFour=new   int[]{endPoint.x, endPoint.y+50};
		//35是50/2得开根求得得
		int[]  lineFive=new   int[]{endPoint.x-35,endPoint.y-35}; 
		int[]  lineSix=new    int[]{endPoint.x+35,endPoint.y+35};
		int[]  lineSeven=new  int[]{endPoint.x-35,endPoint.y+35}; 
		int[]  lineEight=new  int[]{endPoint.x+35,endPoint.y-35};
		
		//每条线是200/8=25
		int  t=25;
		
		Color[] col=new Color[8];
		for(int i=0;i<col.length;i++){
			col[i]=new Color(rand.nextInt(256),rand.nextInt(256),
					   rand.nextInt(256));
		}
		
		
		for(int i=0;i<ld.length;i++){
			if(i<25){
				ld[i]=new LittleDot(lineOne[0]+2*i,lineOne[1],
						col[0]);
				
			}
				
			else if(i<50){
				ld[i]=new LittleDot(lineTwo[0]-2*(i-25),lineTwo[1],
						col[1]);
				
			}
				
			else if(i<75){
				ld[i]=new LittleDot(lineThree[0],lineThree[1]+2*(i-50),
						col[2]);
				
			}
					
			else if(i<100){
				ld[i]=new LittleDot(lineFour[0],lineFour[1]-2*(i-75),
						col[3]);
			}
						
			else if(i<125){
				ld[i]=new LittleDot(lineFive[0]+(int)(1.4*(i-100)),lineFive[1]+(int)(1.4*(i-100)),
						col[4]);
				
			}
							
			else if(i<150){
				ld[i]=new LittleDot(lineSix[0]-(int)(1.4*(i-125)),lineSix[1]-(int)(1.4*(i-125)),
						col[5]);
				
			}
			
			else if(i<175){
				ld[i]=new LittleDot(lineSeven[0]+(int)(1.4*(i-150)),lineSeven[1]-(int)(1.4*(i-150)),
						col[6]);
			}
					
			else if(i<200){
				ld[i]=new LittleDot(lineEight[0]-(int)(1.4*(i-175)),lineEight[1]+(int)(1.4*(i-175)),
						col[7]);
				
			}
				
		}
		
		return ld;
	}
	
}

⌨️ 快捷键说明

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