2015年5月25日 星期一

week14

測試FAAST使用


利用FAAST帶出利用左手和右手上下高度的不同 來對滑鼠座左右移動



做一個P語言程式,滑鼠往左移動或往右移動可帶動方塊旋轉
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--;
}



先利用FAAAAAAST去設定往前傾10度可以按下上的按鍵,跟往後傾10度會按下下的按鍵
然後再進去P語言程式內去設定按上加速和按下減速
以及設定圖片到程式裏面
以下為程式碼,VEL為速度
float angle=0,dX=0,dY=0,vel=1;
PImage imgCar;
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);
   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);
}

沒有留言:

張貼留言