期末遊戲構想
坦克遊戲
在廣場上,坦克開過來,你要躲避,不然就被壓死了

第一節課

import SimpleOpenNI.*;
SimpleOpenNI openni;
void setup(){
size(600,400);
openni = new SimpleOpenNI(this);
openni.enableRGB();
openni.enableDepth();
openni.enableUser();
}
void draw(){
openni.update();
background(255);
image(openni.userImage(), 0,0 ,600,400);
}
第二節課
頭部偵測

import SimpleOpenNI.*;
SimpleOpenNI openni;
void setup()
{
size(640, 480);
openni = new SimpleOpenNI(this);
openni.enableRGB();
openni.enableDepth();
openni.enableUser();
}
void draw()
{
openni.update();
background(255);
// draw depthImageMap
image(openni.depthImage(), 0, 0,300,200);
int []userList=openni.getUsers();
PVector pos=new PVector(0,0,0);
for(int userID : userList){
openni.getJointPositionSkeleton(userID,SimpleOpenNI.SKEL_LEFT_HAND,pos);
}
ellipse(pos.x,pos.y,50,50);
println(pos);
}
void onNewUser(SimpleOpenNI curContext,int userID){
openni.startTrackingSkeleton(userID);
}
第三節課
偵測雙手跟頭都有球

import SimpleOpenNI.*;
SimpleOpenNI openni;
void setup(){
size(600,400);
openni = new SimpleOpenNI(this);
openni.enableRGB();
openni.enableDepth();
openni.enableUser();
}
void draw(){
openni.update();
background(255);
image(openni.userImage(),0,0,640,480);
PVector pos = new PVector(0,0,0);
int [] userList = openni.getUsers();
for(int userID : userList){
openni.getJointPositionSkeleton(userID,SimpleOpenNI.SKEL_LEFT_HAND,pos);
openni.convertRealWorldToProjective(pos,pos);
fill(0,0,255);ellipse(pos.x,pos.y,50,50);
openni.getJointPositionSkeleton(userID,SimpleOpenNI.SKEL_RIGHT_HAND,pos);
openni.convertRealWorldToProjective(pos,pos);
fill(255,0,0);ellipse(pos.x,pos.y,50,50);
openni.getJointPositionSkeleton(userID,SimpleOpenNI.SKEL_HEAD,pos);
openni.convertRealWorldToProjective(pos,pos);
fill(255,255,0);ellipse(pos.x,pos.y,50,50);
}
ellipse(pos.x,pos.y,50,50);
println(pos);
}
void onNewUser(SimpleOpenNI curContext,int userId){
openni.startTrackingSkeleton(userId);
}
沒有留言:
張貼留言