2017年11月9日 星期四

李柏徹的計算機圖學學習紀錄09

1.觀摩程式碼
前往https://www.openprocessing.org/sketch/249457
觀看一位日本人寫的模型及程式碼


2.到MOODLE下載processing3

3.解壓縮完後執行,把剛剛那個範例的程式碼丟進去,並在RANDOM中隨便補一個數

執行結果

4.到網路上隨便找圖片(以下以咖波為例),載下來之後放到processing3的資料夾裡

然後開始輸入以下程式碼
PImage img=loadImage("capoo.png");//綠字要看圖片檔名
size(275,215); 字至少要大於圖片大小
image(img,0,0,275,215); 字代表圖片大小
執行結果:

5. 根據滑鼠位置繪圖(圖片使用網路上隨便找的ERROR)
圖片可以採用直接拉到寫程式碼的區域,會自動加入,加入後位置會放在
C:\Users\user\AppData\Local\Temp\untitled1478407187442716110sketches\sketch_171109c\data
sketch_171109c代表當前程式的檔名

然後輸入以下程式碼
PImage img;
void setup()
{
  size(1280,800);
  img=loadImage("IC725763.png");
}
void draw()
{
  //rect(mouseX,mouseY,50,50);
  image(img,mouseX,mouseY);
}
成果:
6.馬力歐
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,1,1,2,2,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},};
PImage imgMario,imgBrick,imgBrick2;
void setup()
{
  size(800,600);
  imgMario=loadImage("mario.png");
  imgBrick=loadImage("Brick_Block.png");
  imgBrick2=loadImage("5da98730977895279f05af2eb7bd7516.png");
}
float marioX=200, marioY=100,marioVX=0,marioVY=0;
boolean marioOnFloor=false;
void draw()
{
  background(255);
  for(int x=0;x<14;x++)
  {
    for(int y=0;y<11;y++)
    {
      if(map[y][x]==1) image(imgBrick,  x*50,y*50,50,50);
      if(map[y][x]==2) image(imgBrick2, x*50,y*50,50,50);
    }
  }
  image(imgMario,marioX,marioY,100,100);
  marioY+=marioVY; marioX+=marioVX;
  marioVY+=0.98;
  if(marioY>=400){marioY=400;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;
}
以上程式有個小BUG是會跑出左右的視窗外,以後再行更改

沒有留言:

張貼留言