//官網-Documentation文件-Libraies函式庫(圖書館)-sound聲音部分
//https://processing.org/reference/libraies.sound/index.html
import processing.sound.*;
SoundFile sound1,sound2;//兩段音樂
int playing=2;
void setup(){
size (640,360);
background(255);
sound1=new SoundFile(this,"Intro Sound_Final.mp3");
sound2=new SoundFile(this,"In Game Music.mp3");
}
void graw(){
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);
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);
}
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(340, 80, 40, 40);
line(360, 360, 60, 320);
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);
}
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(340, 80, 40, 40);
line(360, 360, 60, 320);
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=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;
}
}
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(340, 80, 40, 40);
line(360, 360, 60, 320);
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;
}
}






沒有留言:
張貼留言