2019年10月17日 星期四

互動技術week06


播放音檔
import processing.sound.*; // 匯入音樂播放套件
SoundFile player; // 宣告音樂播放器 void setup() {   // 初始化音樂播放器,並傳入音檔檔名   player = new SoundFile(this, "123.mp3");   player.play(); // 播放音檔 } void draw() {

}



透過按鍵播放音檔
import processing.sound.*;
SoundFile player;
SoundFile wavPon;
void setup(){
  //player = new SoundFile(this,"123.mp3");
  //player.play();
  wavPon = new SoundFile(this,"pon.wav");
}
void draw(){

}
void mousePressed(){
  wavPon.play();
}

如果官方的播放程式不支援你用的音樂檔案類型可以用Minim非官方的播放器


氣球


PImage imgBalloon;
float[]balloonX = new float[200] ; // float balloonX, balloonY, balloonSizefloat[]balloonY = new float[200] ;
float[]balloonSize = new float[200] ;
int nowN = 0;
void setup() {
  size(500, 400);
  imgBalloon = loadImage("balloon.jpg");
}
void draw() {
  background(255);
  for (int i = 0; i<nowN; i++) {
    image(imgBalloon, balloonX[i], balloonY[i], balloonSize[i], balloonSize[i]/2*3);
    if (balloonY[i]>0) balloonY[i]--;
  }
}
void mousePressed() {
  balloonSize[nowN]=100;
  balloonX[nowN]=mouseX-balloonSize[nowN]/2;
  balloonY[nowN]=mouseY-balloonSize[nowN]/2*3;
  nowN++;
}





氣球變大
PImage imgBalloon;
float[]balloonX = new float[200] ; // float balloonX, balloonY, balloonSize
float[]balloonY = new float[200] ;
float[]balloonSize = new float[200] ;
int nowN = 0;
float multi = 1.02;

void setup() {

  size(500, 400);
  imgBalloon = loadImage("balloon.jpg");
}
void setBalloon(int i, float size) {
  balloonSize[i]=size;
  balloonX[i]=mouseX-balloonSize[i]/2;
  balloonY[i]=mouseY-balloonSize[i]/2*3;
}
void draw() {
  background(255);
  for (int i = 0; i<nowN; i++) {
    image(imgBalloon, balloonX[i], balloonY[i], balloonSize[i], balloonSize[i]/2*3);
    if (balloonY[i]>0) balloonY[i]--;
    if (mousePressed) setBalloon( nowN-1, balloonSize[nowN-1]*multi);
  }
}


void mousePressed() {
  setBalloon(nowN, 10.1);
  nowN++;
}

import processing.sound.*;
SoundFile player;
SoundFile wavPon;
破氣球
PImage imgBalloon;
float[]balloonX = new float[200] ; // float balloonX, balloonY, balloonSize
float[]balloonY = new float[200] ;
float[]balloonSize = new float[200] ;
int nowN = 0;
float multi = 1.02;


  void setup() {

    size(500, 400);
    imgBalloon = loadImage("balloon.jpg");
  }
  void setBalloon(int i, float size) {
    balloonSize[i]=size;
    balloonX[i]=mouseX-balloonSize[i]/2;
    balloonY[i]=mouseY-balloonSize[i]/2*3;
  }
  void draw() {
    background(255);
    for (int i = 0; i<nowN; i++) {
      image(imgBalloon, balloonX[i], balloonY[i], balloonSize[i], balloonSize[i]/2*3);
      if (balloonY[i]>0) balloonY[i]--;
      if (mousePressed) setBalloon( nowN-1, balloonSize[nowN-1]*multi);
    }
  }


  void mousePressed() {
    if (mouseButton == LEFT) {
      setBalloon(nowN, 10.1);
      nowN++;
    } else if (mouseButton == RIGHT) {
      for (int i = 0; i<nowN; i++) {
        if (balloonX[i] <mouseX && mouseX < balloonX[i] + balloonSize[i] && balloonY[i] <mouseY && mouseY < balloonY[i] + balloonSize[i]/2*3 )
        {
          setBalloon(i, 0);
        }
      }
    }
  }






沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

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