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

📄 dottwo.java

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

//此式样是画圆圈的式样
class  DotTwo  extends Dot{
	

   public DotTwo(Color col,int endX,int endY){
	   super(col, endX, endY);
       pace=20;
       
   }

   

  
   public LittleDot[] initBlast(){
      //初始化爆炸的情况

	final  int  ONE=20;//这是爆炸的第一圈的半径 
      Random   rand=new Random();
      int  blastX=endPoint.x-ONE*circle;
	  int  blastY=endPoint.y-ONE*circle;
	  
	  if(Math.random()<0.3){
	  for(int i=0;i<ld.length;i++){
	      ld[i]=new LittleDot(rand.nextInt(ONE*circle*2)+blastX,
	    		              rand.nextInt(ONE*circle*2)+blastY,
			  new Color(rand.nextInt(256),rand.nextInt(256),rand.nextInt(256)));
	    		             
	  }//for
  
	  }//if
	  
	  else  {
		  for(int i=0;i<ld.length;i++){
		      ld[i]=new LittleDot(rand.nextInt(ONE*circle*2)+blastX,
		    		              rand.nextInt(ONE*circle*2)+blastY,
				                     col);
		    		             
		  }//for
		  
	  }//else
	  
	  col=new Color(225,203,114);
	  size=10;
     state=3;
    return ld; 

   }


   public  LittleDot[]   blast(){
	   //处理爆炸的情况
       final  int  EVERY=40;//爆炸的每圈的半径 
      Random   rand=new Random();
	  for(int i=0;i<ld.length;i++){
  
		  
		  //前三圈按照下面的代码来计算爆炸点的碎花的位置
		  	  
		  if(circle<=3){
			  if(ld[i].x<endPoint.x){
				  ld[i].x-=rand.nextInt(EVERY);
			  }
		  
			  else  {ld[i].x+=rand.nextInt(EVERY);}
			
			  if(ld[i].y<endPoint.y){ ld[i].y-=rand.nextInt(EVERY);}
			
			  else  { ld[i].y+=rand.nextInt(EVERY);}
		  }
		  
		  //三圈后就碎花就开始下坠
		  else {
			  if(ld[i].x<endPoint.x){
				  ld[i].x-=rand.nextInt(EVERY);
    		  }
			  
			  else  {ld[i].x+=rand.nextInt(EVERY);}
			 
		      ld[i].y+=rand.nextInt(EVERY);}
		
		
		  
	  }
	  
	 

	  return ld;
   }


   public void myPaint(Graphics g,Vector lList){
	  
	   super.myPaint(g,lList);
	   /*
	   if(circle<=3){
			g.setColor(col);
	      	g.fillOval(x,y+circle*2,size,size);
		   }
		*/
	   }
   
}

⌨️ 快捷键说明

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