import java.awt.*; public class BackEffect { int x, y; int r; //半径 double ra; //角度 int speed_r; int speed_ra; int size; /*********************************************************************    コンストラクタ **********************************************************************/ public BackEffect() { x = 0; y = 0; r = 0; ra = 0; speed_r = 0; speed_ra = 0; size = 0; } /********************************************************************* 初期化 **********************************************************************/ public void init(){ x = 0; y = 0; r = 0; ra = 0; size = 0; } /********************************************************************* 星を描く **********************************************************************/ public void draw(Graphics off_g){ move();//星を動かす off_g.fillOval(320+x,240+y,3,3); } /********************************************************************* 大きい星を描く **********************************************************************/ public void draw2(Graphics off_g){ move2();//星を動かす off_g.fillOval(320+x,240+y,size,size); } /********************************************************************* 星を動かす **********************************************************************/ public void move(){ if (r == 0){ //初期の設定 ra = Math.random()*Math.PI*2; speed_ra = (int)(8 + (Math.random()*8)); speed_r = (int)(1 + (Math.random()*4)); } x = (int)(r*Math.cos(ra)*(double)4/3); y = (int)(r*Math.sin(ra)); ra += Math.PI/speed_ra; if (ra >= 2*Math.PI) ra = 0; r += speed_r; if (r > 240) r = 0; } /********************************************************************* 大きい星を動かす **********************************************************************/ public void move2(){ if (r == 0){ //初期の設定 ra = Math.random()*Math.PI*2; speed_ra = (int)(4 + (Math.random()*4)); speed_r = (int)(5 + (Math.random()*5)); size = 4 + (int)(Math.random()*3); } x = (int)(r*Math.cos(ra)*(double)4/3); y = (int)(r*Math.sin(ra)); ra += Math.PI/speed_ra; if (ra >= 2*Math.PI) ra = 0; r += speed_r; if (r > 240) r = 0; } }