2020年5月29日 星期五

遊戲加入音樂

這周要在遊戲裡加入音樂
1.按下上方的速寫本 
2. 按下裡面的引用庫文件
3.接著點選添加庫文件
4.在空格中打入sound
5.選擇Minim 其他有些電腦會死機
6.按下右下方的下載即可



第一步:

程式碼: 

         import ddf.minim.*; ///使用外掛
         Minim minim; ///物件minim  ///大寫宣告小寫 
         AudioPlayer player; ///物件player 

         void setup( ){
             minim = new Minim(this); 
             player = minim.loadFile("song.mp3"); ///要放入歌
             player.play( ); ///真的播放出來
         }
         void draw( ){
  
         }   ///沒有draw ,沒有後續的動作,會沒有聲音

第二步上禮拜程式碼放入音樂:

程式碼:

         import ddf.minim.*;
         Minim minim; 
         AudioPlayer player;
         PImage imgBird ;
         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,vx=0,vy=0; ///vx,vy表移動的速度
          boolean bMoving=false;

          void draw( ){
              background(255);  ///背景要清,不要殘影
              image(imgBird,birdX,birdY,100,100);
              if(bMoving) line(mouseX,mouseY,oldX,oldY);
              birdX+=vx;birdY+=vy;

              if(birdX>500-50 || birdX<50) vx=-vx;
              if(birdY>400-50 || birdY<50) vy=-vy;  ///反彈
          }
          void mouseReleased( ){ ///如果放開的時候
              bMoving =false; ///不在拉動,要彈出去
              vx=(oldX-mouseX)/10;vy=(oldY-mouseY)/10;   ///就的座標減新座標移動距離除以10
           }
           void mousePressed( ){
               if(dist(mouseX,mouseY,birdX,birdY)<50){
                  bMoving =true; ///開始移動鳥
                  oldX=birdX;oldY=birdY;
               }
            }
            void mouseDragged( ){
                if(bMoving){
                   birdX=mouseX;birdY=mouseY; 
                }
             }
第三步:

         import ddf.minim.*///做音樂
         Minim minim///做音樂
         AudioPlayer player///做音樂
         PImage imgBirdimgPig ; ///紫色為TODO2
         float [ ]pigX=new float[20];
         float [ ]pigY=new float[20]; ///宣告有20隻豬
         int pigN=0;  ///豬有0隻

         void setup( ){ 
             size(500,400);
             imgBird=loadImage("bird.png");
             imgPig=loadImage("pig.gif");
             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;

          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);
              if(bMoving) line(mouseX,mouseY,oldX,oldY);
              birdX+=vx;birdY+=vy;

              if(birdX>500-50 || birdX<50) vx=-vx;
              if(birdY>400-50 || birdY<50) vy=-vy;
          }
          void mouseReleased( ){ 
              bMoving =false; 
              vx=(oldX-mouseX)/10;vy=(oldY-mouseY)/10;   
           }
           void mousePressed( ){
               if(mouseButton==RIGHT){ ///按右鍵時會有豬
                  pigX[pigN]=mouseX;pigY[pigN]=mouseY;
                  pigN++;
               }
               if(dist(mouseX,mouseY,birdX,birdY)<50){
                  bMoving =true; 
                  oldX=birdX;oldY=birdY;
               }
            }
            void mouseDragged( ){
                if(bMoving){
                   birdX=mouseX;birdY=mouseY; 
                }
             }

沒有留言:

張貼留言