## week12_01_libraries_sound_SoundFile_sound__isplaying
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(); } }
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)); ///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); } class Ball { PVector p0, p1, p2, p3; float t = 0.0; 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); ///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); } class Ball { PVector p0, p1, p2, p3; float t = 0.0; 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; } }
##上傳 github
沒有留言:
張貼留言