2020年5月28日 星期四

可撥音樂了

播音樂
import  ddf.minim.*;
Minim minim;
AudioPlayer player;
void setup(){
     minim = new Minim(this);
     player =minim.loadFile("song.mp3");
     player.play();
}
void draw(){
}

憤怒鳥程式

PImage imgBird;
void setup() {
  size(500, 400);
  imgBird=loadImage("bird.png");//圖檔如果沒有放好,會當掉 pointer
  imageMode(CENTER);//以正中心,當座標
}
float birdX=100, birdY=300, oldX, oldY, vx=0, vy=0;//之前的鳥在哪裡
boolean bMoving=false;//if(判斷) ex. if(bMoving)...
void draw() {
  background(255);//清背景
  image(imgBird, birdX, birdY, 100, 100);//不能一直跟著mouse動,改用birdX,birdY
  if (bMoving) line(birdX, birdY, oldX, oldY);//有按到,才能動它
  birdX+=vx;
  birdY+=vy;//鳥要照速度去飛!!!
  if (birdX>450 || birdX<50) vx = -vx*0.95;//撞到邊界,會改變方向,相反的方向
  if (birdY>350 || birdY<50) vy = -vy*0.95;//撞到邊界,會改變方向,相反的方向
}
void mouseReleased() {
  if (bMoving) {
    bMoving=false;//放開時,就不能動了
    vx=(oldX-mouseX)/10;
    vy=(oldY-mouseY)/10;// 0.1倍
  }
}
void mousePressed() {//按下去,才會開始動
  if ( dist(mouseX, mouseY, birdX, birdY)<50) {
    oldX=birdX;
    oldY=birdY;
    bMoving=true;///按下去時,如果有按到,才能動它
  }
}
void mouseDragged() {//按下去,才會開始動
  if (bMoving) {//有按到,才能動它
    birdX=mouseX;
    birdY=mouseY;
  }
}

沒有留言:

張貼留言