2017年11月9日 星期四

蒲立年的學習筆記 Week 09

一、Processing 3實作
別人程式碼範例 : https://www.openprocessing.org/sketch/249457 

試用Processing 3 執行其程式碼

試用Processing 3 執行自己寫的程式碼

程式碼如下:

PImage img=loadImage("Doge.jpg");
size(1000,600); //視窗大小

image(img, 0 ,0, 1000,600); //圖片(開始位置、圖片大小)

*圖片檔直接拉近視窗裡就好,其儲存路徑按ctrl+K可以看到

我們試著用滑鼠位置決定圖片生成位置,達到如下圖的效果

程式碼如下 : 

PImage img;
void setup()
{
  size(1280,1000);
  img=loadImage("Doge.jpg");
}
void draw()
{
  image(img, mouseX, mouseY,50,50);
}


試寫出一個簡易Mario程式~

程式碼如下:

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,1,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},
             {1,1,1,1,1,1,1,1,1,1,1,1,1,1}};
PImage imgMario, imgBrick, imgBrick2;
void setup(){
  size(700,600);
imgMario=loadImage("mario.png");
imgBrick=loadImage("brick.png");
imgBrick2=loadImage("brick2.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>=500-80){marioY=500-80; 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;
}


太神啦!!



沒有留言:

張貼留言