2017年10月24日 星期二

Week06*互動技術課堂筆記*


【利用Processing】


*做出爆爆王*

基本應用介紹


1.先設定爆爆王的背景圖













程式碼:

void setup(){
  size(850,500);  //視窗大小
}
void draw(){
  background(#92AD28);  
  noStroke();  //背景無線條
  for(int x=0;x<17;x++){   //X軸座標
    for(int y=0;y<10;y++){  //Y軸座標
      if((x-y)%2==0)fill(#7E9819);
      else fill(#92AD28);
      rect(x*50,y*50,50,50);  //畫正方形
    }
  }
}

2.增加一個人物,使他的位置可以移動














程式碼:
void setup(){
  size(850,500);
}

int userJ=9,userI=5;
float userX,userY;

void draw(){
  background(#92AD28);
  noStroke();
  for(int x=0;x<17;x++){
    for(int y=0;y<10;y++){
      if((x-y)%2==0)fill(#7E9819);
      else fill(#92AD28);
      rect(x*50,y*50,50,50);
    }
  }
  fill(255,0,0);ellipse(userJ*50+25,userI*50+25,50,50);
}
void keyPressed(){
  if(keyCode==LEFT)userJ--;
  if(keyCode==RIGHT)userJ++;
  if(keyCode==UP)userI--;
  if(keyCode==DOWN)userI++;
}

3.按空白鍵放入水球














程式碼:
void setup(){
  size(850,500);
}
int userJ=9,userI=5;
float userX,userY;
int waterN=0;
int []waterJ=new int[100];
int []waterI=new int[100];
void draw(){
  background(#92AD28); 
  noStroke();
  for(int x=0;x<17;x++){
    for(int y=0;y<10;y++){
      if((x-y)%2==0)fill(#7E9819);
      else fill(#92AD28);
      rect(x*50,y*50,50,50);
    }
  }
  fill(255,0,0);ellipse(userJ*50+25,userI*50+25,50,50);
  for(int i=0;i<waterN;i++){
    fill(#93E1E7);ellipse(waterJ[i]*50+25,waterI[i]*50+25,30,30);
  }
}
void keyPressed(){
  if(keyCode==LEFT)userJ--;
  if(keyCode==RIGHT)userJ++;
  if(keyCode==UP)userI--;
  if(keyCode==DOWN)userI++;
  if(key==' ' ){waterI[waterN]=userI;waterJ[waterN]=userJ;waterN++;}
}


沒有留言:

張貼留言