//week12_01_libraries-sound
import processing.sound.*;
SoundFile sound1, sound2;//兩段音樂
int playing=2;
void setup() {
size(640, 360);
background(255);
sound1=new SoundFile(this, "Intro Song_Final.mp3");
sound2=new SoundFile(this, "In Game Music.mp3");
}
void draw() {
if (sound1.isPlaying()) {//音樂1有沒有在播放
playing=1;
} else if (sound2.isPlaying()) {//音樂2有沒有在撥放
playing=2;
} else {//沒有任何音樂在撥放
if (playing==1)sound2.play();//換另外一首
else sound1.play();
}
}//week12_02-bezier-sample //按右鍵,找bezier()函式的網站文件 size(500, 500); noFill(); stroke(255, 102, 0); line(340, 80, 40, 40); line(360, 360, 60, 320); stroke(0, 0, 0); bezier(340, 80, 40, 40, 360, 360, 60, 320);//week12-03_bezier_1_3_3_1_equation_mouseDragged_change_t void setup() { size(500, 500); } PVector p0=new PVector(340,80); PVector p1=new PVector(40,40); PVector p2=new PVector(360,360); PVector p3=new PVector(60,320); float t=0.0; void draw() { background(255); noFill(); stroke(255, 102, 0); line(340, 80, 40, 40); line(360, 360, 60, 320); stroke(0, 0, 0); bezier(340, 80, 40, 40, 360, 360, 60, 320); float x=p0.x*(1-t)*(1-t)*(1-t)+3*p1.x*t*(1-t)*(1-t)+3*p2.x*t*t*(1-t)+p3.x*t*t*t; float y=p0.y*(1-t)*(1-t)*(1-t)+3*p1.y*t*(1-t)*(1-t)+3*p2.y*t*t*(1-t)+p3.y*t*t*t; ellipse(x,y,10,10); } void mouseDragged(){ t+=0.01*(mouseX-pmouseX); }//week12-04-bezier_for_t_t0_0_many_t void setup() { size(400, 400); } PVector p0=new PVector(120, 80); PVector p1=new PVector(320, 20); PVector p2=new PVector(320, 300); PVector p3=new PVector(120, 300); float t0=0.0; void draw() { background(255); noFill(); stroke(255, 102, 0); line(120, 80, 320, 20); line(320, 300, 120, 300); stroke(0, 0, 0); bezier(120, 80, 320, 20, 320, 300, 120, 300); for (float t=t0; t>=0; t-=0.025) { float x=p0.x*(1-t)*(1-t)*(1-t)+3*p1.x*t*(1-t)*(1-t)+3*p2.x*t*t*(1-t)+p3.x*t*t*t; float y=p0.y*(1-t)*(1-t)*(1-t)+3*p1.y*t*(1-t)*(1-t)+3*p2.y*t*t*(1-t)+p3.y*t*t*t; ellipse(x, y, 10, 10); } } void mouseDragged() { t0+=0.01*(mouseX-pmouseX); }
//week12_05_bezier_ArrayList_class_Ball_draw_ArrayList_add void setup() { size(400, 400); } PVector p0=new PVector(120, 80); PVector p1=new PVector(320, 20); PVector p2=new PVector(320, 300); PVector p3=new PVector(120, 300); float t0=0.0; ArrayList<Ball>balls=new ArrayList<Ball>(); void draw() { background(255); noFill(); stroke(255, 102, 0); line(120, 80, 320, 20); line(320, 300, 120, 300); stroke(0, 0, 0); bezier(120, 80, 320, 20, 320, 300, 120, 300); for(Ball ball:balls){ ball.draw(); } if(frameCount%20==0)balls.add(new Ball(p0,p1,p2,p3)); } void mouseDragged() { t0+=0.01*(mouseX-pmouseX); } class Ball{ PVector p0,p1,p2,p3; float t; Ball(PVector _p0,PVector _p1,PVector _p2,PVector _p3){ p0=_p0; p1=_p1; p2=_p2; p3=_p3; } void draw(){ float x=p0.x*(1-t)*(1-t)*(1-t)+3*p1.x*t*(1-t)*(1-t)+3*p2.x*t*t*(1-t)+p3.x*t*t*t; float y=p0.y*(1-t)*(1-t)*(1-t)+3*p1.y*t*(1-t)*(1-t)+3*p2.y*t*t*(1-t)+p3.y*t*t*t; ellipse(x, y, 10, 10); t+=0.001;// } }//week12_06_bezier_ArrayList_balls_size_get_remove void setup() { size(400, 400); } PVector p0=new PVector(120, 80); PVector p1=new PVector(320, 20); PVector p2=new PVector(320, 300); PVector p3=new PVector(120, 300); float t0=0.0; ArrayList<Ball>balls=new ArrayList<Ball>(); void draw() { background(255); noFill(); stroke(255, 102, 0); line(120, 80, 320, 20); line(320, 300, 120, 300); stroke(0, 0, 0); bezier(120, 80, 320, 20, 320, 300, 120, 300); for(Ball ball:balls){ ball.draw(); } if(frameCount%20==0){ balls.add(new Ball(p0,p1,p2,p3)); println(balls.size()); } if(balls.size()>0&&balls.get(0).t>1.0)balls.remove(0); } void mouseDragged() { t0+=0.01*(mouseX-pmouseX); } class Ball{ PVector p0,p1,p2,p3; float t; Ball(PVector _p0,PVector _p1,PVector _p2,PVector _p3){ p0=_p0; p1=_p1; p2=_p2; p3=_p3; } void draw(){ float x=p0.x*(1-t)*(1-t)*(1-t)+3*p1.x*t*(1-t)*(1-t)+3*p2.x*t*t*(1-t)+p3.x*t*t*t; float y=p0.y*(1-t)*(1-t)*(1-t)+3*p1.y*t*(1-t)*(1-t)+3*p2.y*t*t*(1-t)+p3.y*t*t*t; ellipse(x, y, 10, 10); t+=0.001;// } }
沒有留言:
張貼留言