2016年10月20日 星期四

20161020 小楓兒筆記



1. vive介紹、設定、體驗
    由HTC和Valve合作開發
 
    steam vive
    http://store.steampowered.com/app/358040/

    HTC vive lighhouse
    https://www.youtube.com/watch?v=J54dotTt7k0
 
2.本日實作:for迴圈+陣列,打字遊戲

   裝聲音檔
   開processing→Sketch(速寫本)→Import Library(引用庫文件)→Add Library(添加庫文件)→搜尋sound→選擇processing sound安裝

   開聲音範例檔
   file(文件)→Examples(範例程序)→Libraries→Sound→Soundfile→Sample

   下載Youtube音樂
   http://www.youtube-mp3.org/


背景音樂程式碼

import processing.sound.*;
SoundFile soundfile;

void setup(){
  size(600,400);
  soundfile=new SoundFile(this,"dodoro.mp3");
  soundfile.play();
}
void draw(){
}

*把音樂檔拉進檔案裡


3.本日實作:丟球 v.s 陣列

pokemon丟球軌跡





































PImage imgBall, imgPika;
PVector [] trace;
int traceN=0;
float ballX=300, ballY=400, ballZscale=1.0, pikaX=270/2, pikaY=200/2;
float ballVX=0, ballVY=0;
boolean bFly=false;
void setup(){
  size(270,560);
//  size(1080,1920);
  imgBall=loadImage("Poke_Ball.png");
  imgPika=loadImage("pika.png");
  imageMode(CENTER);
  trace=new PVector[100];
  for(int i=0;i<100;i++)trace[i]=new PVector(0,0,0);
}
void draw(){
  background(#4BFFD3);
  image(imgPika, pikaX, pikaY, 100,100);
  image(imgBall, ballX, ballY, 100/ballZscale,100/ballZscale);
  if(bFly) {
    ballX+=ballVX/2.0;  ballY+=ballVY/2.0;
    ballVY += 0.98;
    ballZscale +=0.03;
    if(traceN<100){
      trace[traceN].x=ballX; trace[traceN].y=ballY;
      traceN++;
    }
    for(int i=0;i<traceN;i+=1){
      ellipse(trace[i].x, trace[i].y, 20/ballZscale,20/ballZscale);
    }
  }
}
void mouseDragged(){
  if(mouseY<height*2/3 && bFly==false){
    ballVX=mouseX-pmouseX;
    ballVY=mouseY-pmouseY;
    bFly=true;
    traceN=0;
  }else if(mouseY>height*2/3){
    ballX=mouseX; ballY=mouseY;
    ballVX=0; ballVY=0; bFly=false;
    ballZscale=1.0;
  }
}

沒有留言:

張貼留言