2017年9月30日 星期六

Week03 彣禎的上課筆記

一.做出憤怒鳥小遊戲

(1)先載圖檔和讀圖檔
PImage imgBird,imgPig;
void setup(){
  size(800,600);
  imgBird=loadImage("angryBird.png");
  imgPig=loadImage("pig.png");
}
void draw(){
  background(255);
  image(imgPig,400,300,200,200);
  image(imgBird,mouseX,mouseY,100,100);
}

(2)用滑鼠拖移

PImage imgBird,imgPig;
void setup(){
  size(800,600);
  imgBird=loadImage("angryBird.png");
  imgPig=loadImage("pig.png");
}
float birdX=400,birdY=300;
void draw(){
  background(255);
  image(imgPig,400,300,200,200);
  image(imgBird,birdX,birdY,100,100);
}
void mouseDragged(){
  birdX=mouseX;birdY=mouseY;
}

(3)做出彈弓
PImage imgBird,imgPig;
void setup(){
  size(800,600);
  imgBird=loadImage("angryBird.png");
  imgPig=loadImage("pig.png");
  imageMode(CENTER); //把滑鼠游標用在圖片中心
}
float birdX=400,birdY=300;
float birdVX=0,birdVY=0;
void draw(){
  background(255);
  image(imgBird,birdX,birdY,100,100);
  ///ellipse(birdX,birdY,100,100);
  line(birdX,birdY,400,300);
  birdX+=birdVX;
  birdY+=birdVY;
}
void mouseDragged(){
  birdX=mouseX;
  birdY=mouseY;
}
void mouseReleased(){
  birdVX=(400-mouseX)/100.0;
  birdVY=(300-mouseY)/100.0;
}
(4)加上加速度就有拋物線
PImage imgBird,imgPig;
void setup(){
  size(800,600);
  imgBird=loadImage("angryBird.png");
  imgPig=loadImage("pig.png");
  imageMode(CENTER);
}
float birdX=400,birdY=300;
float birdVX=0,birdVY=0;
float birdAX=0,birdAY=0;
void draw(){
  background(255);
  image(imgBird,birdX,birdY,100,100);
  ///ellipse(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;
}

(5)打到豬 豬就會不見
float birdX=400,birdY=300;
float birdVX=0,birdVY=0;
float birdAX=0,birdAY=0;
float pigX=700,pigY=100;
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;
  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;
}

(6)撞到牆會反彈

二.做出小朋友下樓梯小遊戲

(1)碰到板子方塊會停住



沒有留言:

張貼留言