2020年10月5日 星期一

❀week04

圖片


放圖片到視窗

先下載一張圖片
然後把圖片拉進視窗裡















檔案會在速寫本內的打開程序目錄




















PImage:圖片
-放一張圖片
*程式碼*
PImage img;
size(1198,630);//視窗大小~可以到小畫家看圖片的像素
img = loadImage("image.png");//括號內是圖片檔名
image(img , 0 , 0);





















-放兩張圖片
再放一張圖片
*程式碼*
PImage img;
PImage img2;

size(1198,630);
img = loadImage("image.png");
img2 = loadImage("logo.png");

image(img , 0 , 0);
image(img2 , 100 , 100,41,36);




















讓圖片移動

*程式碼*
PImage img;
PImage img2;
void setup(){
  size(1198,630);
  img = loadImage("image.png");
  img2 = loadImage("logo.png");
}
void draw(){
  image(img , 0 , 0);
  image(img2 ,mouseX-41/2, mouseY-36/2,41,36);
}






















*程式碼裡/2是因為要讓滑鼠游標在小圖的中心(沒有/2的話會在圖片左上角)

背景跟小圖會動

滑鼠往右移(小圖),背景也會跟著動
給他變數
*程式碼*
void setup(){
  size(512,288);
  img = loadImage("BACKGROUND.png");
  img2 = loadImage("mario.png");
}
int x=0;
void draw(){
  if(mouseX>400) x--;
  image(img , x , 0);//會動的數叫變數
  image(img2 ,mouseX-79/2, mouseY-99/2,79,99);
}















*去背小工具*
powerpoint
插入圖片後按移除背景











做出會動的東西(靜者恆靜,動者恆動)

原始程式碼(有一個圓還不會動)
*程式碼*
float x=250, y=200;
void setup(){
  size(500,400);
}
void draw(){
  ellipse(x,y,10,10);
  x+=0;//牛頓第一定律
}












碰到邊界會反彈

*程式碼*
float x=250, y=200;
float vx=1.0,vy=2.5;//速度 velocity
void setup(){
  size(500,400);
}
void draw(){
  //background(255);
  ellipse(x,y,10,10);
  x+=vx;//牛頓第一定律
  y+=vy;
  if(x>500 || x<0)vx = -vx;//遇到邊界,反彈
  if(y>400 || y<0)vy = -vy;//遇到邊界,反彈
}



















沒把background(255);隱藏
視窗背景會變成圖片那樣




















(憤怒鳥概念)選一個位置,滑鼠按下去,會出現輔助線,然後放開滑鼠會彈出去
*程式碼*
float x=250, y=200;
float vx=1.0,vy=2.5;//速度 velocity
void setup(){
  size(500,400);
}
void draw(){
  background(255);
  if(mousePressed) line(mouseX,mouseY,x,y);
  ellipse(x,y,10,10);
  ellipse(mouseX,mouseY,10,10);
  x+=vx;//牛頓第一定律
  y+=vy;
  if(x>500 || x<0)vx = -vx;//遇到邊界,反彈
  if(y>400 || y<0)vy = -vy;//遇到邊界,反彈
}
void mouseReleased(){//mouse放開
  vx = x-mouseX; vy = y-mouseY;
}




















加速度

*程式碼*
float x=250 ,y=200;
float vx=1.3,vy=-14;//速度 velocity
void setup(){
  size(500,400);
}
void draw(){
  background(255);
  ellipse(x,y,10,10);
  x+=vx; y+=vy;//牛頓第一定律
  vy += 0.98;//牛頓第二定律 f=ma 加速度
  if(x>500 || x<0) vx = -vx*0.85;//遇到邊界,反彈
  if(y>400 || y<0) vy = -vy*0.85;//遇到邊界,反彈
}


沒有留言:

張貼留言