2015年5月25日 星期一

week14

建置環境,使用方式 (FAAST)


 模擬開車,利用身體手勢的左右來操控
 先以滑鼠游標實作:
加入身體姿勢判斷(從左到右)
-姿勢向右


 加入身體姿勢判斷(從左到右)
-姿勢置中


進階(移動劃出的方形)
-用滑鼠操控,模擬方向盤


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--; }

實作車子的方向操控

向左

向右
PImage imgCar; float angle=0,dX=0,dY=0,vel=1; void setup(){ size(800,600,P3D); imgCar=loadImage("car.png"); } void draw(){ background(255); for(int i=-1;i<=8;i++){ for(int j=-1;j<=6;j++){ rect(i*100+dX%100,j*100+dY%100,100,100); } } pushMatrix(); translate(width/2,height/2); rotateZ(angle); image(imgCar,-100,-50,200,100); // rect(0,0,100,100); popMatrix(); dX-=vel*cos(angle); dY-=vel*sin(angle); } 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); }

沒有留言:

張貼留言