建置環境,使用方式 (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);
}
沒有留言:
張貼留言