1.讀入圖片,並讓中心點都在圖

PImage imgbird,imgpig;
void setup(){
size(800,600);
imgbird=loadImage("bird.png");
imgpig=loadImage("pig.png");
imageMode(CENTER);
}
float birdX=400,birdY=300;
float pigX=700,pigY=200;2
void draw(){
background(255);
image(imgpig,pigX,pigY,100,100);
image(imgbird,birdX,birdY,100,100);
}
2.使憤怒鳥有速度、加速度、引力以及彈弓
PImage imgbird,imgpig;
void setup(){
size(800,600);
imgbird=loadImage("bird.png");
imgpig=loadImage("pig.png");
imageMode(CENTER);
}
float birdX=400,birdY=300;
float birdVX=0,birdVY=0;
float birdAX=0,birdAY=0;
float pigX=700,pigY=200;
void draw(){
background(255);
image(imgpig,pigX,pigY,100,100);
image(imgbird,birdX,birdY,100,100);
line(birdX,birdY,400,300);
birdX+=birdVX;
birdY+=birdVY;
birdVX+=birdAX;
birdVY+=birdAY;
}
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;
}
3.有邊界碰撞反彈、有擊中判定(完成)
PImage imgbird,imgpig;
void setup(){
size(800,600);
imgbird=loadImage("bird.png");
imgpig=loadImage("pig.png");
imageMode(CENTER);
}
float birdX=400,birdY=300;
float birdVX=0,birdVY=0;
float birdAX=0,birdAY=0;
float pigX=700,pigY=200;
boolean pigalive=true;
void draw(){
background(255);
if(pigalive) image(imgpig,pigX,pigY,100,100);
image(imgbird,birdX,birdY,100,100);
if(dist(pigX,pigY,birdX,birdY)<100) pigalive=false;
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.98;
birdVY*=0.98;
}
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;
}
沒有留言:
張貼留言