2020年5月29日 星期五

憤怒鳥-豬豬現身

import ddf.minim.*;
Minim minim;
AudioPlayer player;
AudioPlayer player2;
PImage imgBird, imgPig;
void setup(){
  size(500,400);
  minim=new Minim(this);
  player=minim.loadFile("song.mp3");
  player.play();
  player2=minim.loadFile("pig.wav");

  imgBird=loadImage("bird.png");//圖檔如果沒有放好,會當掉 pointer
  imgPig=loadImage("pig.gif");//我們的豬
  imageMode(CENTER);//以正中心,當座標
}
float []pigX=new float[20];
float []pigY=new float[20];
int pigN=0;//有幾隻豬
float birdX=100, birdY=300, oldX, oldY, vx=0, vy=0;//之前的鳥在哪裡
boolean bMoving=false;//if(判斷) ex. if(bMoving)...
void draw(){
  background(255);//清背景
  for(int i=0;i<pigN; i++){
      image(imgPig, pigX[i], pigY[i], 100,100);
  }
  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(mouseButton==RIGHT){
      player2.rewind();//把音樂時間調到一開始
      player2.play();//再播
      pigX[pigN]=mouseX;
      pigY[pigN]=mouseY;
      pigN++;
  }
  if(dist(mouseX,mouseY,birdX,birdY)<50){
    oldX=birdX;  oldY=birdY;
    bMoving=true;//按下去時,有按到圖案才會動
  }
}


void mouseDragged(){//按下去,才會開始動

  if(bMoving) {//有按到,才能動它
    birdX=mouseX; birdY=mouseY;

  }
}

由於豬的部分是用陣列設為20隻,因此按滑鼠超過20下後會造成系統錯誤,系統便產生error。

之後的想法是加入更多的音效,例如;碰撞聲、失敗音效等等。另外也想設計更多讓圖片互動的程式出來。





2020年5月28日 星期四

Programming-week14

angry bird sound

照片:


程式碼:

import ddf.minim.*;
Minim minim;
AudioPlayer player;
AudioPlayer player2;//TODO2
PImage imgBird, imgPig;//TODO3
void setup(){
  size(500,400);
  minim = new Minim(this); 
  player = minim.loadFile("song.mp3");
  player.play();
  player2 = minim.loadFile("pig.wav");//TODO2
  
  imgBird=loadImage("bird.png");//圖檔如果沒有放好,會當掉 pointer
  imgPig =loadImage("pig.gif");//TODO3 我們的豬
  imageMode(CENTER);//以正中心,當座標
}
float []pigX=new float[20];//TODO3
float []pigY=new float[20];//TODO3
int pigN=0;//有幾隻豬
float birdX=100, birdY=300, oldX, oldY, vx=0, vy=0;//之前的鳥在哪裡
boolean bMoving=false;//if(判斷) ex. if(bMoving)...
void draw(){
  background(255);//清背景
  for(int i=0; i<pigN; i++){//TODO3
    image(imgPig, pigX[i], pigY[i], 100,100);//TODO3
  }
  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(mouseButton==RIGHT){//TODO2
    player2.rewind();//倒到最前面
    player2.play();//再播!!!
    pigX[pigN]=mouseX;//TODO3
    pigY[pigN]=mouseY;//TODO3
    pigN++;//TODO3
  }
  if( dist(mouseX,mouseY, birdX,birdY)<50){
    oldX=birdX; oldY=birdY;
    bMoving=true;///按下去時,如果有按到,才能動它
  }
}
void mouseDragged(){//按下去,才會開始動
  if(bMoving) {//有按到,才能動它
    birdX=mouseX; birdY=mouseY;
  }
}

week 14

今天要繼續延續著前兩週的憤怒鳥~
一開始老師先給我們已經學到進度的程式碼。


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;
  }
}

拉的時候會有線,且放開可彈跳。



有了畫面後,遊戲內最重要的因素"音樂"就要顯現出來啦~!!!
匯入音樂且去processing引用庫文件內下載!!

首先開啟引用庫資料


下載完後按下File ->Examples



再點入PlayFile




接著打入程式碼

import ddf.minim.*;
Minim minim;
AudioPlayer player;
void setup(){
  minim = new Minim(this);
  player=minim.loadFile("song.mp3");
  player.play();
}
void draw(){
  //要有這個,才會播放!!
}



當出現中間的小框框,就代表成功一半囉!!
接著將上面三行及中間三行貼入就好囉~~
那再將綠色小豬及綠色小豬音樂匯入,這個遊戲就成功了。

import ddf.minim.*;
Minim minim;
AudioPlayer player;
AudioPlayer player2;
PImage imgBird,imgPig;
void setup(){
  size(500,400);
  minim = new Minim(this);
  player=minim.loadFile("song.mp3");
  player.play();
  player2.minim.loadFile("pig,wav");

  imgBird=loadImage("bird.png");//圖檔如果沒有放好,會當掉 pointer
  imageMode(CENTER);//以正中心,當座標
}
float []pigX=new float[20];
float []pigY=new float[20];
int pigN=0;//有幾隻豬
float birdX=100, birdY=300, oldX, oldY, vx=0, vy=0;//之前的鳥在哪裡
boolean bMoving=false;//if(判斷) ex. if(bMoving)...
void draw(){
  background(255);//清背景
  for(int i=0;i<pigN;i++)
  {
    image(imgPig,pigX[i],pig[j],100,100);
  }
  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(mouseButton==RIGHT){
    player2.rewind();//倒到最前面
    player2.play();//再播!!!!!
    pigX[pigN]=mouseX;
    pigY[pigY]=mouseY;
    pigN++;
  }
  if( dist(mouseX,mouseY, birdX,birdY)<50){
    oldX=birdX; oldY=birdY;
    bMoving=true;///按下去時,如果有按到,才能動它
  }
}
void mouseDragged(){//按下去,才會開始動
  if(bMoving) {//有按到,才能動它
    birdX=mouseX; birdY=mouseY;
  }
}




來到了憤努鳥的最後一週,前兩週做完了紅色憤怒鳥的拉線,接著就加入了綠色小豬進入這個遊戲!!經過三個星期終於告一段落了~也終於知道如何做出小時候喜歡的憤怒鳥遊戲了~!!

08160873-week 14


week14 angrybirds ver.kuzuha vol.3

可撥放音樂的zh angrybird

程式設計 week14

week12拉線

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;
  }
}

播音樂的程式

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




import ddf.minim.*;
Minim minim;
AudioPlayer player;
PImage imgBird;
void setup(){

  size(500,400);
  minim = new Minim(this);
  player = minim. loadFile("song.mp3");
  player.play();
  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;

  }

}
void mousePressed(){
    if(mouseButton==RIGHT){
       player2.rewind();
       player2.play();
       pigX[pigN]=mouseX;
       pigY[pigN]=mouseY;
       pigN++;
    }
    if( dist(mouseX,mouseY, birdX,birdY)<50){
        oldX=birdX; oldY=birdY;
        bMoving=true;
    }
}
這次把音樂放上去了

emmmm.............._week14

(メ ゚皿゚)メ
放音樂~~



撥放音樂



開新的一個檔案下載好音樂,然後打出程式,而且一定要有框框才會有音樂。

把音樂加進去憤怒鳥的程式裡,這樣就有背景音樂了。

這一步是將豬的聲音和圖片加進去,按右鍵時豬會出現,最多20隻。

todo2是將豬的音樂加進來 todo3是將豬的圖片加進來。 以上是完整程式。

邪惡微笑教主征服地球計畫W14:)憤怒鳥3

這周要來加音樂啦!
先要先下載 DDF sound的東東
然打下這串
再將音樂丟入就有聲音啦!

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












再來就是丟進去拉


之後丟豬進去拉

import ddf.minim.*;
Minim minim;
AudioPlayer player;
PImage imgBird;
void setup(){
  size(500,400);
  imgBird=loadImage("bird.png");
  minim=new Minim(this);
  player=minim.loadFile("song.mp3");
  player.play();
  imageMode(CENTER);
}
float birdX=100, birdY=300, oldX, oldY, vx=0, vy=0;
boolean bMoving=false;
void draw(){
  background(255);
  for(int i=0;i<pigN;i++)
  {
    image(imgPig,pigx[i],pig[y],100,100);
  }
  image(imgBird, birdX,birdY,100,100);
  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;
  }
}
void mousePressed(){
  if(mouseButton==RIGHT)
  {
    player2.rewind();
    player2.play();
    pigX[pigN]=mouseX;
    pigY[pigN]=mouseY;
    pigN++;
  }
  if( dist(mouseX,mouseY, birdX,birdY)<50){
    oldX=birdX; oldY=birdY;
    bMoving=true;
  }
}
void mouseDragged(){
  if(bMoving) {
    birdX=mouseX; birdY=mouseY;
  }
}

a20200528

import ddf.minim.*;//播放聲音的函式庫
//需要先下載(上面工具列Sketch/Import Library/Add Library/搜尋sound)
Minim minim;//播放聲音宣告
AudioPlayer player;//音檔宣告
void setup()
{
  minim=new Minim(this);//音檔
  player=minim.loadFile("song.mp3");//音檔名子
  player.play();//播放聲音
}
void draw()//要有這個draw()聲音才會撥放
{

}

----------------------------------------------------------------------------------------------------


PImage imgBird;
import ddf.minim.*;//播放聲音的函式庫
//需要先下載(上面工具列Sketch/Import Library/Add Library/搜尋sound)
Minim minim;//播放聲音宣告
AudioPlayer player;//音檔宣告
void setup(){
  size(500,400);
  imgBird=loadImage("bird.png");//圖檔如果沒有放好,會當掉 pointer
  imageMode(CENTER);//以正中心,當座標
  minim=new Minim(this);//音檔
  player=minim.loadFile("song.mp3");//音檔名子
  player.play();//播放聲音
}
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;
  }
}




------------------------------------------------------------------------------------------------------------


Week14

今天教的是如何撥音樂&點一下就會出現豬

week14


撥放音樂 加上有anrybird
程式碼:
import ddf.minim.*;
Minim minim;
AudioPlayer player;
PImage imgBird;
void setup(){
  size(500,400);
  minim=new Minim(this);
  player=minim. loadFile("song.mp3");
  player.play();
  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);
  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;
  }
}

angry bird的音樂


今天小葉老師教我們怎麼把音樂放進程式碼並撥放出來。
下面是撥放音樂的程式碼:
import ddf.minim.*;
Minim minim;
AudioPlayer player;
void setup(){
   minim = new Minim(this);
   player = minim. loadFile("song.mp3");
   player.play();
}
void draw(){
 
}
上面的程式要先到sketch裡面add library下載minim,程式碼才能運作。

今天老師教到怎麼放兩個音樂並且撥放,也教我們怎麼使用陣列。

放音樂

今天老師教我們如何把音樂用程式進行撥放
以下是程式碼


再加入之前製作的憤怒鳥遊戲裡
以下是程式碼


再來加入豬的音效以及點右鍵可以創造一隻豬
以下是程式碼


import ddf.minim.*;
Minim minim;
AudioPlayer player;
AudioPlayer player2;//TODO2
PImage imgBird, imgPig;//TODO3
void setup(){
  size(500,400);
  minim = new Minim(this);
  player = minim.loadFile("song.mp3");
  player.play();
  player2 = minim.loadFile("pig.wav");//TODO2
 
  imgBird=loadImage("bird.png");//圖檔如果沒有放好,會當掉 pointer
  imgPig =loadImage("pig.gif");//TODO3 我們的豬
  imageMode(CENTER);//以正中心,當座標
}
float []pigX=new float[20];//TODO3
float []pigY=new float[20];//TODO3
int pigN=0;//有幾隻豬
float birdX=100, birdY=300, oldX, oldY, vx=0, vy=0;//之前的鳥在哪裡
boolean bMoving=false;//if(判斷) ex. if(bMoving)...
void draw(){
  background(255);//清背景
  for(int i=0; i<pigN; i++){//TODO3
    image(imgPig, pigX[i], pigY[i], 100,100);//TODO3
  }
  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(mouseButton==RIGHT){//TODO2
    player2.rewind();//倒到最前面
    player2.play();//再播!!!
    pigX[pigN]=mouseX;//TODO3
    pigY[pigN]=mouseY;//TODO3
    pigN++;//TODO3
  }
  if( dist(mouseX,mouseY, birdX,birdY)<50){
    oldX=birdX; oldY=birdY;
    bMoving=true;///按下去時,如果有按到,才能動它
  }
}
void mouseDragged(){//按下去,才會開始動
  if(bMoving) {//有按到,才能動它
    birdX=mouseX; birdY=mouseY;
  }
}

wwwwww



加入這個程式碼可以撥放音樂

WEEK有聲音的豬豬

我想先回家內

-
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;
  }
}
-
這個檔案是抓出來的
import ddf.minim.*;
Minim minim;
AudioPlayer player;

void setup()
{
minim = new Minim(this);
player = minim.loadFile("song.mp3");
player.play();

}

void draw()
{


}


-
import ddf.minim.*;
Minim minim;
AudioPlayer player;

void setup()
{
minim = new Minim(this);
player = minim.loadFile("song.mp3");
player.play();

}

void draw()
{


}

程式設計重修哦 Week14

上禮拜的程式碼:
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;
  }
}

今天寫背景音樂的程式


播放音樂的程式碼:
import ddf.minim.*;
Minim minim;
AudioPlayer player;
void setup()
{
    minim = new Minim(this);
    player = minim.loadFile("song.mp3");
    player.play();
}
void draw()
{
   
}
應用在上禮拜的程式碼:
import ddf.minim.*;
Minim minim;
AudioPlayer player;
PImage imgBird;

void setup(){
    minim = new Minim(this);
    player = minim.loadFile("song.mp3");
    player.play();
  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;

  }

}
加上豬豬跟聲音:
import ddf.minim.*;
Minim minim;
AudioPlayer player;
AudioPlayer player2;//TODO2
PImage imgBird, imgPig;//TODO3
void setup(){
  size(500,400);
  minim = new Minim(this);
  player = minim.loadFile("song.mp3");
  player.play();
  player2 = minim.loadFile("pig.wav");//TODO2
 
  imgBird=loadImage("bird.png");//圖檔如果沒有放好,會當掉 pointer
  imgPig =loadImage("pig.gif");//TODO3 我們的豬
  imageMode(CENTER);//以正中心,當座標
}
float []pigX=new float[20];//TODO3
float []pigY=new float[20];//TODO3
int pigN=0;//有幾隻豬
float birdX=100, birdY=300, oldX, oldY, vx=0, vy=0;//之前的鳥在哪裡
boolean bMoving=false;//if(判斷) ex. if(bMoving)...
void draw(){
  background(255);//清背景
  for(int i=0; i<pigN; i++){//TODO3
    image(imgPig, pigX[i], pigY[i], 100,100);//TODO3
  }
  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(mouseButton==RIGHT){//TODO2
    player2.rewind();//倒到最前面
    player2.play();//再播!!!
    pigX[pigN]=mouseX;//TODO3
    pigY[pigN]=mouseY;//TODO3
    pigN++;//TODO3
  }
  if( dist(mouseX,mouseY, birdX,birdY)<50){
    oldX=birdX; oldY=birdY;
    bMoving=true;///按下去時,如果有按到,才能動它
  }
}
void mouseDragged(){//按下去,才會開始動
  if(bMoving) {//有按到,才能動它
    birdX=mouseX; birdY=mouseY;
  }
}

可撥音樂了

播音樂
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;
  }
}
拉著這隻鳥後他就會彈來彈去的,彷彿真實版的angry bird

混分仔日常


PImage imgBird;
import ddf.minim.*;
Minim minim;
AudioPlayer player;

void setup()
{
  size (500,400);

  imgBird=loadImage("bird.png");

  imageMode(CENTER);
  minim=new Minim(this);
  player=minim.loadFile("song.mp3");
  player.play();
}

float birdX=100,birdY=300,oldX,oldY;

void draw()

{

  background (255);

  image(imgBird,mouseX,mouseY,100,100);

  if (mousePressed) line (birdX,birdY,oldX,oldY);

}

void mousePressed()

{

 oldX=birdX;oldY=birdY;

}

void mouseDragged()

{

  birdX=mouseX;

  birdY=mouseY;

}
他會該了
很酷 可以放音樂~~~
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;
  }
}






/**
  * This sketch demonstrates how to play a file with Minim using an AudioPlayer. <br />
  * It's also a good example of how to draw the waveform of the audio. Full documentation
  * for AudioPlayer can be found at http://code.compartmental.net/minim/audioplayer_class_audioplayer.html
  * <p>
  * For more information about Minim and additional features,
  * visit http://code.compartmental.net/minim/
  */

import ddf.minim.*;

Minim minim;
AudioPlayer player;

void setup()
{
  size(512, 200, P3D);

  // we pass this to Minim so that it can load files from the data directory
  minim = new Minim(this);

  // loadFile will look in all the same places as loadImage does.
  // this means you can find files that are in the data folder and the
  // sketch folder. you can also pass an absolute path, or a URL.
  player = minim.loadFile("groove.mp3");
}

void draw()
{
  background(0);
  stroke(255);

  // draw the waveforms
  // the values returned by left.get() and right.get() will be between -1 and 1,
  // so we need to scale them up to see the waveform
  // note that if the file is MONO, left.get() and right.get() will return the same value
  for(int i = 0; i < player.bufferSize() - 1; i++)
  {
    float x1 = map( i, 0, player.bufferSize(), 0, width );
    float x2 = map( i+1, 0, player.bufferSize(), 0, width );
    line( x1, 50 + player.left.get(i)*50, x2, 50 + player.left.get(i+1)*50 );
    line( x1, 150 + player.right.get(i)*50, x2, 150 + player.right.get(i+1)*50 );
  }

  // draw a line to show where in the song playback is currently located
  float posx = map(player.position(), 0, player.length(), 0, width);
  stroke(0,200,0);
  line(posx, 0, posx, height);

  if ( player.isPlaying() )
  {
    text("Press any key to pause playback.", 10, 20 );
  }
  else
  {
    text("Press any key to start playback.", 10, 20 );
  }
}

void keyPressed()
{
  if ( player.isPlaying() )
  {
    player.pause();
  }
  // if the player is at the end of the file,
  // we have to rewind it before telling it to play again
  else if ( player.position() == player.length() )
  {
    player.rewind();
    player.play();
  }
  else
  {
    player.play();
  }
}

week14冠倫


憤怒鳥彈來彈去!!



week14

                                                            打出播放音樂的程式碼

我要寫幾次部落格qq_Week14

week13

今天是做憤怒鳥遊戲的第二部分:要加入音樂的部分。



                                                   我們透過加入新的程式庫



透過查詢sound找到ddf的minim

把minim的程式庫導入主程式中
接著在將音樂檔抓進去就行了(程式內的檔名要打對)



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;
  }
}




重修學長的程設

今天考試考10題基礎題

第三節課 將遊戲加入音效

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;
  }
}
憤怒鳥

上課內容

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

放音樂

今天老師教我們如何把音樂用程式進行撥放
以下是程式碼

可憐的大三重修仔_week14

2020/5/28 Week14
part1:前面都在打程式,第二節小考

part2:憤怒鳥
上禮拜的程式碼
先下載播放音樂所需的套件
加入音樂的程式碼(記得要把song.mp3加到資料夾)

程式碼:
import ddf.minim.*;
Minim minim;
AudioPlayer player;
AudioPlayer player2;
PImage imgBird,imgPig;
void setup(){
  minim = new Minim(this);
  player = minim.loadFile("song.mp3");
  player.play();
  player2 = minim.loadFile("pig.wav");
  size(500,400);
  imgBird=loadImage("bird.png");//圖檔如果沒有放好,會當掉 pointer
  imgPig =loadImage("pig.gif");
  imageMode(CENTER);//以正中心,當座標
}
float []pigX=new float[20];
float []pigY=new float[20];
int pigN=0;
float birdX=100, birdY=300, oldX, oldY, vx=0, vy=0;//之前的鳥在哪裡
boolean bMoving=false;//if(判斷) ex. if(bMoving)...
void draw(){
  background(255);//清背景
  for(int i=0;i<pigN;i++){
    image(imgPig, pigX[i], pigY[i],100,100);
  }
  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(mouseButton==RIGHT){
    player2.rewind();
    player2.play();
    pigX[pigN]=mouseX;
    pigY[pigN]=mouseY;
    pigN++;
  }
  if( dist(mouseX,mouseY, birdX,birdY)<50){
    oldX=birdX; oldY=birdY;
    bMoving=true;///按下去時,如果有按到,才能動它
  }
}
void mouseDragged(){//按下去,才會開始動
  if(bMoving) {//有按到,才能動它
    birdX=mouseX; birdY=mouseY;
  }
}

week14

程式設計二
Processing
1.可以放出聲音,到library下載Minim
程式:
import ddf.minim.*;
Minim minim;
AudioPlayer player;
void setup(){
    minim = new Minim(this);
    player = minim.loadFile("song.mp3");
}

沒做完的
import ddf.minim.*;
Minim minim;
AudioPlayer player;
AudioPlayer player2;
PImage imgBird,imgPig;
void setup(){
  size(500,400);
  imgBird=loadImage("bird.png");//圖檔如果沒有放好,會當掉 pointer
  imgPig=loadImage("pig.gif");
  imageMode(CENTER);//以正中心,當座標
  minim = new Minim(this);
  player = minim.loadFile("song.mp3");
  player.play();
  player2 = minim.loadFile("pig.wav");
}
float []pigX=new float[20];
float []pigY=new float[20];
int pigN=0;
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(mouseButton==RIGHT){
    player2.rewind();
    player2.play();
    pigX[pigN]=mouseX;
    pigY[pigN]=mouseY;
    pigN++;
  }
  if( dist(mouseX,mouseY, birdX,birdY)<50){
    oldX=birdX; oldY=birdY;
    bMoving=true;///按下去時,如果有按到,才能動它
  }
}
void mouseDragged(){//按下去,才會開始動
  if(bMoving) {//有按到,才能動它
    birdX=mouseX; birdY=mouseY;
  }
}