2018年10月18日 星期四

Week 06 宋侑恩

Week 06 Part 1-1 - 播放音樂

要播放音樂的前提:

速寫本→引用文件庫→添加文件→下載Minim和Sound
回到速寫本引用文件庫→點選Sound

程式碼:

import ddf.minim.*;

Minim minim;
AudioPlayer player;
void setup(){
  minim = new Minim(this);
  player=minim.loadFile("groove.mp3");
  player.play();
}
void draw(){
 
}


Week 06 Part 1-2 - 水果忍者

1.只有一顆水果拋出

程式碼:

float fruitX,fruitY,fruitVX,fruitVY;
void setup(){
  size(800,600);
  fruitX=30; fruitVX=3;
  fruitY=700; fruitVY=-35;
}
void draw(){
  background(0);
  ellipse(fruitX,fruitY,100,100);
  fruitX+=fruitVX;
  fruitY+=fruitVY;
  fruitVY+=0.98;
}


2.一排水果同時拋出

程式碼:

float [] fruitX=new float[20];
float [] fruitY=new float[20];
float [] fruitVX=new float[20];
float [] fruitVY=new float[20];
void setup(){
  size(800,600);
  for(int i=0;i<20;i++){
    fruitX[i]=random(800); fruitVX[i]=3;
    fruitY[i]=700; fruitVY[i]=-35;
  }
}
void draw(){
  background(0);
  for(int i=0;i<20;i++){
    ellipse(fruitX[i],fruitY[i],100,100);
    fruitX[i]+=fruitVX[i];
    fruitY[i]+=fruitVY[i];
    fruitVY[i]+=0.98;
  }
}


3.讓水果分散一點出現

程式碼:

float [] fruitX=new float[20];
float [] fruitY=new float[20];
float [] fruitVX=new float[20];
float [] fruitVY=new float[20];
void reborn(int i){
  fruitX[i]=random(800); fruitVX[i]=random(6)-3;
  fruitY[i]=700; fruitVY[i]=-35;
}
void setup(){
  size(800,600);
  for(int i=0;i<20;i++){
    reborn(i);
  }
}
void draw(){
  background(0);
  for(int i=0;i<20;i++){
    if(dist(mouseX,mouseY,fruitX[i],fruitY[i])<=50){
      reborn(i);
    }
    ellipse(fruitX[i],fruitY[i],100,100);
    fruitX[i]+=fruitVX[i];
    fruitY[i]+=fruitVY[i];
    fruitVY[i]+=0.98;
    if(fruitY[i]>700) reborn(i);
  }
}



沒有留言:

張貼留言