2017年10月16日 星期一

Week05 Shiro


大眼睛---眼睛跟著滑鼠動



射泡泡
1.使用現來輔助球的路線

2.給球速度會再線附近飄移

程式碼:
void setup()
{
  size(400,800);
}
float ballX=200,ballY=600;
float ballVX=0,ballVY=0;
float angle=0;

void draw()
{
   background(0,128,0);
   fill(#FA9703);ellipse(200,600,100,100);///橘色地帶
   line(mouseX,mouseY,200,600);
 
   fill(#F9FA03);ellipse(ballX,ballY,30,30); ///黃色球
   angle=atan2(mouseY-600,mouseX-200); ///計算滑鼠跟黃色球的角度
 
   ballX+=ballVX;
   ballY+=ballVY;

}
void mouseMoved()   ///球會跟著滑鼠移動
{
  ballX=200+50*cos(angle);
  ballY=600+50*sin(angle);
}
void mousePressed() ///滑鼠按下後給速度發射
{
   ballVX=cos(angle);
   ballVY=sin(angle);
}
3.發出多個球

程式碼
void setup()
{
  size(400,800);
}
float []ballX=new float[10];
float []ballY=new float[10];
float []ballVX=new float[10];
float []ballVY=new float[10];
float []angle=new float[10];
int now=0;

void draw()
{
   background(0,128,0);
   fill(#FA9703);ellipse(200,600,100,100);
  /// line(mouseX,mouseY,200,600);
   for(int i=0;i<10;i++){
   fill(#F9FA03);ellipse(ballX[i],ballY[i],30,30);
   ballX[i]+=ballVX[i];
   ballY[i]+=ballVY[i]; 
   }

   angle[now]=atan2(mouseY-600,mouseX-200);
 
}
void mouseMoved()
{
  ballX[now]=200+50*cos(angle[now]);
  ballY[now]=600+50*sin(angle[now]);
}
void mousePressed()
{
   ballVX[now]=cos(angle[now]);
   ballVY[now]=sin(angle[now]);
   now++;
}
4.做敵人

--改善球會飄移,在滑鼠移動的球速度設定0
--setup裡產生敵人

--畫圖做判斷






沒有留言:

張貼留言