2021年11月29日 星期一

week08課程

 期末作品想法

1.小人移動

Step1:讀入圖檔

PImage img;
void setup(){
  size(500,500);
  img=loadImage("child.jpg");//讀取圖片
}
void draw(){
  background(0);
  image(img,0,0);
}

Step2:擷取圖片部分區塊

PImage img;
void setup(){
  size(500,500);
  img=loadImage("child.jpg");//讀取圖片
}
void draw(){
  background(255);
  //image(img,0,0);
  image(img.get(0,0,141,211),0,0);//針對特定區域截圖
}

Step3:人物初步移動

PImage img;
void setup(){
  size(500,500);
  img=loadImage("child.jpg");//讀取圖片
}
int a=0;
void draw(){
  background(255);
  //image(img,0,0);
  image(img.get(190*a,0,190,252),0,0);
  a = (a+1)%4;//有4個動作
}

Step4:調整移動速度

PImage img;
void setup(){
  size(500,500);
  img=loadImage("child.jpg");//讀取圖片
}
int a=0;
void draw(){
  background(255);
  //image(img,0,0);
  image(img.get(190*a,0,190,252),0,0);
  if(frameCount%30==0)a = (a+1)%4;//1秒有60frame,設定%30在一秒內移動2次
}

Step5:移動方向

PImage img;
void setup(){
  size(500,500);
  img=loadImage("child.jpg");//讀取圖片
  imageMode(CENTER);
}
int a=0,b=0,x=250,y=250;//設定b變數調整方向
void draw(){
  background(255);
  //image(img,0,0);
  image(img.get(141*a,211*b,141,211),x,y);
  if(frameCount%30==0)a = (a+1)%4;1秒有60frame,設定%30在一秒內移動2次
}
void keyPressed(){
  if(keyCode==DOWN){b=0;y++;}
  if(keyCode==UP){b=1;y--;}
  if(keyCode==LEFT){b=2;x--;}
  if(keyCode==RIGHT){b=3;x++;}
}

沒有留言:

張貼留言