2016年3月17日 星期四

第四週-作品教學

這週示範同學的期中作品,需要用的食指的技術
我們就先畫根食指吧



接下來就畫個盒子吧


有趣的食指球球(發射)


子彈終於發射了


import de.voidplus.leapmotion.*;
PVector pos=null,dir=null;
PVector []bullet=new PVector[10];
PVector []bullet_dir=new PVector[10];
int bulletNow=0;
LeapMotion leap;
void setup(){
  size(600,400,P3D);
  leap =new LeapMotion(this);
  for(int i=0;i<10;i++){
    bullet[i]=new PVector(0,0,0);
    bullet_dir[i]=new PVector(0,0,0);
  }
}
void draw(){
  background(255);
  for(Hand hand:leap.getHands()){
    Finger finger_index=hand.getIndexFinger();
    finger_index.draw();
    dir = finger_index.getDirection();
  }
  lights();
  fill(255,0,0);
   translate(width/2,height/2);
   pushMatrix();
    for(int i=0;i<10;i++){
      if(dir!=null) translate(dir.x*10*i,dir.y*10*i,dir.z*10*i);
      sphere(40);
    }
  popMatrix();
  pushMatrix();
    fill(0,0,255);
    for(int i=0;i<10;i++){
      pushMatrix();
        translate(bullet[i].x,bullet[i].y,bullet[i].z);
        sphere(41);
        bullet[i].x += bullet_dir[i].x;
        bullet[i].y += bullet_dir[i].y;
        bullet[i].z += bullet_dir[i].z;
      popMatrix();       
     }
   popMatrix();
  }
void keyPressed(){
  bullet_dir[bulletNow].x=dir.x*5;
  bullet_dir[bulletNow].y=dir.y*5;
  bullet_dir[bulletNow].z=dir.z*5;
}  

製作棒球遊戲的雛形


import de.voidplus.leapmotion.*;
LeapMotion leap;
PVector pos,dor,ball;
void setup(){
  size(600,400,P3D);
  leap =new LeapMotion(this);
  pos = new PVector(300,200,0); ball=new PVector(0,0,0);
}
void draw(){
  ball.x+=0;ball.y+=2;
  for(Hand hand:leap.getHands()){
    pos=hand.getPosition();
  }
  background(255);
  fill(255,0,0);
  pushMatrix();
    translate(pos.x,pos.y,pos.z);
    box(30,30,30);
   popMatrix();
   pushMatrix();
     translate(ball.x,ball.y);
     sphere(30);
     if(dist(ball.x,ball.y,pos.x,pos.y)<30) background(255,0,0);
    popMatrix();
     

}




沒有留言:

張貼留言