2015年5月25日 星期一

Week14

賽車遊戲


●用FAAS模擬賽車動作

 (left hand above right hand then mouse move to right)


photo:



起始畫面










 加入New Gesture/Loop repeatedly










add 設定














input /left hand /above /right hand /at least /20 /ok












output /add mouse move event /by relative distance /(1, 0) /ok
















Gestures 2 again!












●配合processing轉動方塊


code:

float angle=0;
void setup(){
  size(800, 600, P3D);
}



void draw(){
  background(255);
  pushMatrix();
    translate(width/2, height/2);
    rotateZ(angle/180.0);
    rect(0, 0, 100, 100);
  popMatrix();
}


void mouseMoved(){

  int x= mouseX-pmouseX;
  int y= mouseY-pmouseY;
  if(x>0) angle+=1;
  if(x<0) angle-=1;
}



void keyPressed(){
  if(key=='l') angle++;
  if(key=='r') angle--;
}



photo:




left







right







用滑鼠旋轉方塊


















import kinect4WinSDK.Kinect;
import kinect4WinSDK.SkeletonData;
PImage imgCar;

Kinect kinect;

ArrayList <SkeletonData> bodies;

float angle=0, dX=0, dY=0, vel=1;

void setup(){

  size(640, 480, P3D);
  background(0);
  kinect= new Kinect(this);
  smooth();
  bodies= new ArrayList<SkeletonData>();
  imgCar= loadImage("red.png");
}



void draw(){
  background(0);
  image(kinect.GetImage(), 320, 0, 320, 240);
  image(kinect.GetDepth(), 320, 240, 320, 240);
  image(kinect.GetMask(), 0, 240, 320, 240);
  for(int i=0;i<bodies.size();i++){
    drawSkeleton(bodies.get(i));
    drawPosition(bodies.get(i));
  }


  
  
  pushMatrix();
    translate(width/2, height/2);
    rotateZ(angle);
    image(imgCar, -100, -50, 200, 100);
  popMatrix();
}



void drawPosition(SkeletonData _s){
  noStroke();
  fill(0, 100, 255);
  //need to add//
}




void mouseMoved(){
  int x= mouseX-pmouseX;
  int y= mouseY-pmouseY;
  if(x>0) angle+=1/40.0;
  if(x<0) angle-=1/40.0;
}



void keyPressed(){
  if(key=='l') angle++;
  if(key=='r') angle--;
  if(keyCode==UP) vel*=1.1;
  if(keyCode==DOWN) vel*=0.9;
  println("vel:"+vel);
}








沒有留言:

張貼留言