2020年3月27日 星期五

week04發射子彈,陣列示範


發射子彈
1.一顆子彈

2.五顆子彈

3.按下滑鼠子彈會越來越大

4.子彈往上飄有不一樣的顏色

PImage imgBG;
int []x=new int[1000];
int []y=new int[1000];
int []r=new int[1000];
color []c=new color[1000];//準備陣列
int n=0;//子彈數目
void setup()
{
    size(550,346);//要與背景size相同
    imgBG=loadImage("1234.png");
}
void draw()
{
  background(imgBG);
  for(int i=0;i<n;i++)//5顆子彈
  {
    fill(c[i]);
    circle(x[i],y[i],r[i]);//circle(x[i],y[i],40);
    y[i]--;
  }
  if(mousePressed)r[now]+=2;//如果按著就會變大
}
int now=0;
void mousePressed()
{
    //if(n>=5)return;//當按下第6顆時直接出去迴圈,不要讓程式當掉
    x[n]=mouseX;//x[0]=mouseX;//陣列不夠大
    y[n]=mouseY;//y=[0]=mouseY;
    r[n]=10;//設回原來大小
    now=n;//現在用的
    c[n]=color(random(255),random(255),random(255));
    n++;
    //n++;//for迴圈裡才放i,其他地方不要用ex:x[i]=mouseX
    //n=(n+1)%5;//可以回收子彈,下次用到最舊的那顆

}


陣列示範









沒有留言:

張貼留言