2019年9月19日 星期四

瑋_筆記week2

9/19
今天教學可以互動的程式碼
void setup(){啟動碼
         size(800,300);
}
void draw(){畫圖
         rect(mouseX,mouseY,50,20);
}

mouseX,mouseY:指出滑鼠移動的位置!!

後來程式碼變成

void setup(){
size(800,300);
  for(int x=0;x<800;x+=16){
  
  for(int y=0;y<300;y+=30){
  rect(x,y,16,30);
上面是設定出格子
    }
  }
}
void draw(){
  int nowX=mouseX/16*16,nowY=mouseY/30*30;///給他定位讓格子正確
  ///為何先除16在乘16因為175/16=10餘15但程式碼會將它變成只有10餘數不算在乘上16就會
  ///知道在160這個正確的格子,Y也是相同的原理。
  fill(0,100,200);///顏色
rect (nowX,nowY,16,30);///現在XY位置

void setup(){
size(800,300);
  for(int x=0;x<800;x+=16){

  for(int y=0;y<300;y+=30){
  rect(x,y,16,30);
    }
  }
}
void draw(){
  int nowX=mouseX/16*16,nowY=mouseY/30*30;
  if(mousePressed &&mouseButton==LEFT){左鍵按壓出現顏色
  fill(0,187,249);
  rect (nowX,nowY,16,30);
  }
  else if(mousePressed &&mouseButton==RIGHT){右鍵按壓消除顏色
  fill(255,255,255);
  rect (nowX,nowY,16,30);
  }
}
}
下面為放置圖片
PImage img;//declare outside
void setup(){
  size(800,600);
   img=loadImage("dog.png");///需要將圖片移入P3裡面即可知道檔案
}
void draw(){///畫圖
  image(img,mouseX,mouseY,200,200);///一樣會依照滑鼠移動
}


下面是最後教的如何在圖片上面打洞再回復
PImage imgBG;
int [][]table=new int[45][10];
void setup(){
 size(711,377);
 imgBG=loadImage("card.png");
}
void draw(){
 background(imgBG);
 int nowI=mouseX/16,nowJ=mouseY/30;
 if(mousePressed &&mouseButton==LEFT){
   table[nowI][nowJ]=1;
 }
 else if(mousePressed &&mouseButton==RIGHT){
   table[nowI][nowJ]=0;
 }
 for(int i=0;i<45;i++){
  for(int j=0;j<10;j++){
    fill(0);
   if(table[i][j]==1) rect(i*16,j*30,16,30);
  }
 }
}

沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

回顧這學期的作品:  期中作業:LANDING:PLANET 賣點&特點: 炫麗的特效 物理(星球重力及降落)及粒子系統(噴射) 世界地圖可根據視角縮放 困難點: 重寫3次最終改寫成物件導向的CLASS寫法...