1.憤怒鳥part2
PImage imgBird, imgPig;
float birdX=100,birdY=400;
float birdVX = 0, birdVY = 0;
float birdAX = 0, birdAY = 0;
float [][]pigx=new float[5][4];
float [][]pigy=new float[5][4];
boolean [][]pigAlive=new boolean[5][4];
void setup(){
size(800,600);
imgBird=loadImage("bird.png");
imgPig=loadImage("pig.png");
imageMode(CENTER);
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
pigx[i][j]=700-i*100; pigy[i][j]=100+j*100; pigAlive[i][j]=true;
}
}
}
void draw(){
background(255);
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
if(dist(pigx[i][j],pigy[i][j],birdX,birdY)<100){
pigAlive[i][j]=false;
}
if(pigAlive[i][j]) image(imgPig, pigx[i][j], pigy[i][j], 100, 100);
}
}
image(imgBird, birdX, birdY, 100, 100);
line(birdX, birdY, 400,300);
birdX += birdVX;
birdY += birdVY;
if(birdX<50){birdX=50; birdVX = -birdVX;}
if(birdX>width-50){birdX=width-50; birdVX= -birdVX;}
if(birdY<50){birdY=50; birdVY = -birdVY;}
if(birdY>height-50){birdY=height-50; birdVY= -birdVY;}
birdVX += birdAX;
birdVY += birdAY;
birdVX *= 0.995;
birdVY *= 0.995;
}
void mouseDragged(){
birdX=mouseX;
birdY=mouseY;
birdVX=birdVY=birdAX=birdAY=0;
}
void mouseReleased(){
birdVX = (400-mouseX)/10.0;
birdVY = (300-mouseY)/10.0;
birdAY = 0.98;
}
2.步驟分解
(1)
float [][]pigx=new float[5][4];
float [][]pigy=new float[5][4];
boolean [][]pigAlive=new boolean[5][4];
void setup(){
size(800,600);
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
pigx[i][j]=700-i*100; pigy[i][j]=100+j*100; pigAlive[i][j]=true;
}
}
}
void draw(){
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
fill(#07DE0F);ellipse(pigx[i][j],pigy[i][j],100,100);
}
}
fill(#DE0719); ellipse(400,300,100,100);
}
(2)
float birdX=100,birdY=400;
float birdVX = 0, birdVY = 0;
float birdAX =0, birdAY = 0;
float [][]pigx=new float[5][4];
float [][]pigy=new float[5][4];
boolean [][]pigAlive=new boolean[5][4];
void setup(){
size(800,600);
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
pigx[i][j]=700-i*100; pigy[i][j]=100+j*100; pigAlive[i][j]=true;
}
}
}
void draw(){
background(255);
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
if(dist(birdX,birdY,pigx[i][j],pigy[i][j])<100) pigAlive[i][j]=false;
//fill(#07DE0F);ellipse(pigx[i][j],pigy[i][j],100,100);
if(pigAlive[i][j]) {fill(#07DE0F);ellipse(pigx[i][j],pigy[i][j],100,100);}
}
}
//fill(#DE0719); ellipse(birdX,birdY,100,100);
fill(#DE0719); ellipse(birdX,birdY,100,100);
birdX += birdVX; birdY += birdVY;
birdVX += birdAX; birdVY += birdAY;
}
void mouseDragged(){
birdX=mouseX; birdY=mouseY;
birdVX=0;birdVY=0;
}
void mouseReleased(){
birdVX = (100-mouseX)/5.0;
birdVY = (400-mouseY)/5.0;
birdAY = 0.98;
}
4.插入音樂
(1)
import processing.sound.*;
SoundFile sound;
void setup(){
size(800,600);
sound=new SoundFile(this,"hello.mp3");
sound.play();
sound.loop();
}
(2)
import ddf.minim.*;Minim minim;
AudioPlayer player;
void setup(){
size(800,600);
minim=new Minim(this);
player= minim.loadFile("hello.mp3",2048);
player.play();
}
void draw(){
}
沒有留言:
張貼留言