2020年4月10日 星期五

week07

今天上課時先講了防疫要注意的,然後講了teams怎麼用
然後老師開始上了c語言中很重要的內容:指標。指標能夠記錄位址
然後用c tutor看執行的過程

利用指標,我們在p語言當中可以依據不同的條件切換不同的圖片

程式碼:
PImage img1;
PImage img2;
PImage img3;
PImage img;
void setup(){
  size(300,300);
  img1=loadImage("img1.png");
  img2=loadImage("img2.png");
  img3=loadImage("img3.png");
  img=img1;
}
void draw(){
  image(img,100,100); 
}
void keyPressed(){
  if(keyCode==RIGHT)img=img2;
  if(keyCode==LEFT)img=img3;
}
void keyReleased(){
  img=img1; 
}

不只能夠讓他變換方向,只要修改一下程式碼我們還可以讓箭頭移動

程式碼:
PImage img1,img2, img3;
PImage img;
float x=100,y=100,vx=0;
void setup(){
  size(300,300);
  img1=loadImage("img1.png");
  img2=loadImage("img2.png");
  img3=loadImage("img3.png");
  img=img1;
}
void draw(){
  background(255);
  image(img,x,y);
  x += vx;
}
void keyPressed(){
  if(keyCode==RIGHT){
    img=img2;
    vx=1;
  }
  else if(keyCode==LEFT){
    img=img3;
    vx=-1;
  }
}
void keyReleased(){
  img=img1;
  vx=0;
}

在修改程式之後,在數值上面動手腳,就可以讓多拉a夢不停跳(如果vy乘0.95的話跳的高度會一樣)


程式碼:
PImage img1,img2, img3;
PImage img;
float x=100,y=100,vx=0,vy=-10;
void setup(){
  size(300,300);
  img1=loadImage("dora.png");
  img2=loadImage("img2.png");
  img3=loadImage("img3.png");
  img=img1;
}
void draw(){
  background(255);
  image(img,x,y);
  x += vx;
  y += vy;
  vy += 0.98;
  if(y>=200) vy = -vy*0.9;
}
void keyPressed(){
  if(keyCode==RIGHT){
    img=img2;
    vx=1;
  }
  else if(keyCode==LEFT){
    img=img3;
    vx=-1;
  }
}
我們希望多拉a夢可以不只上下彈,還可以左右彈,所以我們在x軸也設一個變數
程式碼太長了,把不要的程式碼刪一刪。因為要左右彈,所以設定一下寬度,讓
他可以剛剛好

程式碼:
PImage img;
float x=100,y=100,vx=3,vy=-10;
void setup(){
  size(400,400);
  img=loadImage("dora.png");
}
void draw(){
  background(255);
  image(img,x,y,100,100);
  x += vx;
  y += vy;
  vy += 0.98;
  if(y>=300) vy = -vy*0.95;
  if(x>300) vx = -vx;
  if(x<0) vx = -vx;
}

沒有留言:

張貼留言