week12_01_libraries_sound_SoundFile_sound_isPlaying
//官網-Documention文件-Libraries函式庫-Sound聲音部分
//https://processing.org/reference/libraries/sound/index.html
//我們教過 piay() stop() pause()
import processing.sound.*;
SoundFile sound1,sound2;//兩段音樂
int playing=2;
void setup(){
size(640,360);
background(255);
sound1=new SoundFile(this,"Intro Song_Final.mp3");//week09_04可下載
sound2=new SoundFile(this,"In Game Music.mp3");//week09_04可下載
}
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_
//按右鍵,找bazier()函式的網站文件
//https://processing.org/reference/bezier_.html
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_sraw_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);
}
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;
}
}






沒有留言:
張貼留言