2019年10月17日 星期四

互動技術week06

*早上八點補課內容:

(打殭屍遊戲的雛形):















程式碼:

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("Coreect");
      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);
   }
}

早九課程內容:

1.播聲音:















程式碼:

import ddf.minim.*;
Minim minim;
AudioPlayer player;
void setup(){
   size(500,500);
   minim=new Minim(this);
   player=minim.loadFile("mgun_burst2.wav");
}
void draw(){
  
}
void mousePressed(){
   player.rewind();
   player.play();
}

2.會往上飄的氣球















程式碼:

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]--;
   }
}
void mousePressed(){
   balloonSize[nowN]=100;
   balloonX[nowN]=mouseX-balloonSize[nowN]/2;
   balloonY[nowN]=mouseY-balloonSize[nowN]/2*3;
   nowN++;
}

3.可以充氣的氣球:















程式碼:


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.01,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(){
   setBalloon(10,nowN);
   nowN++;
}

沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

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