2019年10月17日 星期四

week6

1.簡易版打殭屍












int[] zombiePos=new int[10];
void setup(){
  size(300,400);
  for(int i=0;i<10;i++){
    zombiePos[i]= int(random(3));
    print(zombiePos[i]+" ");
  }
}
void draw(){
  background(60,60,10);
  fill(128);
  for(int i=9;i>=0;i--){
    rect(zombiePos[i]*100,200-i*30,100,100);
  }
  fill(255);
  rect(0,300,100,100);
  rect(100,300,100,100);
  rect(200,300,100,100);
}
void keyPressed(){
  if((key=='1'&&zombiePos[0]==0) || (key=='2'&&zombiePos[0]==1)||(key=='3'&&zombiePos[0]==2))
  {
   println("Correct");
   for(int i=0;i<9;i++)zombiePos[i] =zombiePos[i+1];
   zombiePos[9]= int(random(3));
  }else{
   fill(255,0,0);
   rect(0,0,width,height);
}
}
 2.聲音
import processing.sound.*;
SoundFile player;

void setup(){
  player = new SoundFile(this,"fly.mp3");
  player.play();
}
void draw(){

}
3.吹氣球
import ddf.minim.*;
Minim minim;
AudioPlayer player;
PImage imgBalloon;
float []balloonX=new float[200];
float []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]--;
  }
  if(mousePressed)

    setBalloon(balloonSize[nowN-1]*1.02,nowN-1);


}
void setBalloon(float size,int i){



  balloonSize[i]=size;
  balloonX[i]=mouseX-balloonSize[i]/2;
  balloonY[i]=mouseY-balloonSize[i]/2*3;

}
void mousePressed(){
      minim = new Minim(this);
  player = minim.loadFile("balloon.wav");
  player.play();
  setBalloon(10,nowN);
  nowN++;
}


沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

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