2012年10月9日 星期二

WEEK05,HW05

5-1 自動旋轉的花




















void setup(){
  size(600,600);
  background(100,180,200);
}
float r=0.01;
float rr=-0.01;
void draw(){
  background(100,180,200);  //畫面更新,不會有殘影
  translate(300,300);
  rotate(r);  r+=0.01;  //自動旋轉
  for(int i=0;i<18;i++){
    rotate( PI/7);  //固定角度PI=180度=3.14...
    fill(255,100,100);
    ellipse(100,0,200,40);
    rotate(PI/8);
    fill(250,200,0);
    ellipse(100,0,200,20);
  }
  translate(0,0);
  rotate(rr);  rr-=0.01;
    for(int i=0;i<10;i++){
    rotate(PI/5);
    fill(0,100,100);
    ellipse(100,0,120,10);
  }
}
/*
pushMatrix()
保護、不影響外面
popMatrix()
*/

5-2 可互動




















/*宣告放音樂函式*/
import ddf.minim.*;
import ddf.minim.analysis.*;
Minim minim;
AudioPlayer song;
void setup(){
  /*放音樂,音樂要儲存在processing檔案資料夾下*/
  /*minim = new Minim(this);
  song = minim.loadFile("marcus_kellis_theme.mp3", 2048);
  song.play();*/
 
  size(600,600);
  background(100,180,200);
}
float r=0.01,rr=-0.01;
float x=300,y=300;
float s=1;
void draw(){
  background(100,180,200);  //畫面更新,不會有殘影
  translate(x,y);
  rotate(r);  r+=0.01;  //自動旋轉
  if(mousePressed){
    for(int i=0;i<18;i++){
       rotate( PI/7);  //固定角度PI=180度=3.14...
       fill(255,100,100);
       ellipse(100,0,200,40);
       rotate(PI/8);
       fill(250,200,0);
       ellipse(100,0,200,20);
       scale(s); s+=0.00001;   //按滑鼠會放大大大大大大
    }
  }
  translate(0,0);
  rotate(rr);  rr-=0.01;
  for(int i=0;i<10;i++){
    rotate(PI/5);
    fill(0,100,100);
    ellipse(100,0,120,10);
  }
  x=x*0.9 + mouseX*0.1;
  y=y*0.9 + mouseY*0.1;
}

5-3 預想期中作品(圖、文字)















擦窗戶遊戲
1. 可以操作鍵盤的上下左右和空白鍵
上下左右->控制位置
空白鍵->擦窗戶(按三次才算擦乾淨)
2. 上面有障礙物隨機掉下
3. 有計分表和時間限制
4. 可暫停和重新遊戲的按鈕

5-4 心得
學到物件可以自動旋轉。

1 則留言: