2017年11月9日 星期四

余瑞得 week 9

Bump mapping (讓圖形有凹凸面)

1. 範例看看(https://www.openprocessing.org/sketch/249457)
2. moodle 內下載 processing 3 安裝
3.把範例copy paste到processing

4. 自己畫出一個四邊形

5. 如何call圖 (記得要把圖拉進去processing 才能讀圖檔)

6. 如何利用滑鼠決定要在哪裡畫圖

7. 做個簡單mario


















/// processing code
int [][]map={{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
              {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
              {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
              {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
              {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
              {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
              {0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0},
              {0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0},
              {0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0},
              {0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0},
              {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
              {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
              {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
              {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
              {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
              {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}};
PImage img;
PImage brick;
void setup(){
   size(800,800);
  img=loadImage("mario.png");
  brick=loadImage("Brick.png");
}
float marioX=200,marioY=50,marioVY=0,marioVX=0;
boolean marioOnFloor=false;
void draw(){
  background(255); //redraw background
  for(int i=0;i<16;i++){
    for(int j=0;j<16;j++)
  {
    if(map[j][i]==1)image(brick,i*50,j*50,50,50);}}
  image(img,marioX,marioY,100,100);
  marioY+=marioVY;
  marioX+=marioVX;
  marioVY+=0.98;
  if(marioY>=750-100) {marioY=750-100;marioVY=0;marioOnFloor=true;}
}
void keyPressed(){
  if(keyCode==UP && marioOnFloor){marioVY=-15;marioOnFloor=false;}
  if(keyCode==RIGHT) marioVX=5;
  if(keyCode==LEFT) marioVX=-5;
}
void keyReleased(){
  if(keyCode==RIGHT || keyCode==LEFT) marioVX=0;
}
 

沒有留言:

張貼留言