2019年10月17日 星期四

SamYeh's Note_Week06

互動技術概論

Week06

1.匯入聲音檔 先至速寫本引用文件庫--->下載Sound 元件

2.把聲音mp3匯入到程式中

import processing.sound.*;
SoundFile soundfile;

void setup() {
  size(640, 360);
  background(255);
  // Load a soundfile
  soundfile = new SoundFile(this, "look.mp3");
  soundfile.loop();
}      

void draw() {
  
}

3.以上為範例程式

4.透過氣球案下釋放利用功能釋放氣球加大


import processing.sound.*;
SoundFile soundfile;
SoundFile bomb;
PImage imgBalloon;
float []balloonX=new float[200];
float []balloonY=new float[200];
float balloonSize[]=new float[200];
int newN=0;
int count=0;
void setup(){
 size(800,400);
 soundfile = new SoundFile(this, "ballon.mp3");
 imgBalloon=loadImage("smile.png");
 bomb = new SoundFile(this, "bomb.mp3");
  
}
void draw(){
   background(255);
   count=0;
   for(int i=0;i<newN;i++){
      image(imgBalloon,balloonX[i],balloonY[i],balloonSize[i],balloonSize[i]/2*2);
      if(balloonY[i]>0) balloonY[i]--;
   }
   if(mousePressed){
     setBalloon(balloonSize[newN-1]*1.06 ,newN-1); 
   }
   
}
void setBalloon(float size,int i){
  balloonSize[i]=size;
  balloonX[i]=mouseX-balloonSize[i]/2;
  balloonY[i]=mouseY-balloonSize[i]/2*2;
}
void mousePressed(){
  if(mouseButton==RIGHT){
    soundfile.play();
  }
  if(mouseButton==LEFT){
    bomb.play();
  }
  setBalloon(10,newN);
  newN++;
  
}



import processing.sound.*;
SoundFile soundfile;
SoundFile bomb;
PImage imgBalloon;
float []balloonX=new float[200];
float []balloonY=new float[200];
float balloonSize[]=new float[200];
int newN=0;
int count=0;
void setup(){
 size(800,400);
 soundfile = new SoundFile(this, "ballon.mp3");
 imgBalloon=loadImage("smile.png");
 bomb = new SoundFile(this, "bomb.mp3");
  
}
void draw(){
   background(255);
   count=0;
   for(int i=0;i<newN;i++){
      image(imgBalloon,balloonX[i],balloonY[i],balloonSize[i],balloonSize[i]/2*2);
      if(balloonY[i]>0) balloonY[i]--;
   }
   if(mousePressed){
     setBalloon(balloonSize[newN-1]*1.06 ,newN-1); 
   }
   
}
void setBalloon(float size,int i){
  balloonSize[i]=size;
  balloonX[i]=mouseX-balloonSize[i]/2;
  balloonY[i]=mouseY-balloonSize[i]/2*2;
}
void mousePressed(){
  if(mouseButton==RIGHT){
    soundfile.play();
    
  }
  if(mouseButton==LEFT){
    bomb.play();
  }
  setBalloon(10,newN);
  newN++;
  
}
void mouseReleased(){
  //soundfile.pause();
}


沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

回顧這學期的作品:  期中作業:LANDING:PLANET 賣點&特點: 炫麗的特效 物理(星球重力及降落)及粒子系統(噴射) 世界地圖可根據視角縮放 困難點: 重寫3次最終改寫成物件導向的CLASS寫法...