2019年9月19日 星期四

~~~week02

互動技術
1.用P語言做出一個可以隨著滑鼠移動的位置來畫出方型的程式
程式:
void setup(){
  size(800,300);
}
void draw(){
  rect(mouseX,mouseY,50,20);
}


2.做出一個可以隨著滑鼠移動的位置將方塊上色的程式

程式:
void setup(){
  size(800,300);//800->720 for 45
  for(int x=0;x<800;x+=16){
    for(int y=0;y<300;y+=30){
      rect(x,y,16,30);
    }
  }
}//720/45=>16
void draw(){//Updata()
  int nowX=mouseX/16*16,nowY=mouseY/30*30;
  fill(0);
  rect(nowX,nowY,16,30);
}


3.做出一個滑鼠按右鍵可以上色,按左鍵可以復原成白色的程式
程式:
void setup(){
  size(800,300);//800->720 for 45
  for(int x=0;x<800;x+=16){
    for(int y=0;y<300;y+=30){
      rect(x,y,16,30);
    }
  }
}//720/45=>16
void draw(){//Updata()
  int nowX=mouseX/16*16,nowY=mouseY/30*30;
  if(mousePressed && mouseButton==LEFT){
  fill(0);
  rect(nowX,nowY,16,30);
}else if(mousePressed && mouseButton==RIGHT){
  fill(255);
  rect(nowX,nowY,16,30);
}
}


3.做出一個可以貼圖片的程式
程式:
PImage img;//declare outside
void setup(){
  size(800,300);
  //PImage img=loadImage("https://s.yimg.com/ny/api/res/1.2/zxGb2NoKF5mu9Vqj_ulYmg--~A/YXBwaWQ9aGlnaGxhbmRlcjtzbT0xO3c9ODAw/https://media.zenfs.com/no/cts.com.tw/7283b905993f89a8a706e9e8c07b39b2")
  img=loadImage("https://i.ytimg.com/vi/5rirMzUWnp8/hqdefault.jpg");
}
void draw(){
  image(img,0,0,500,200);
}///wrong,img draw() is not img setup()


4.做出一個可以隨著滑鼠移動的位置畫出貼圖的程式
程式:
PImage img;//declare outside
void setup(){
  size(800,500);
  //PImage img=loadImage("https://s.yimg.com/ny/api/res/1.2/zxGb2NoKF5mu9Vqj_ulYmg--~A/YXBwaWQ9aGlnaGxhbmRlcjtzbT0xO3c9ODAw/https://media.zenfs.com/no/cts.com.tw/7283b905993f89a8a706e9e8c07b39b2")
  img=loadImage("https://i.ytimg.com/vi/5rirMzUWnp8/hqdefault.jpg");
}
void draw(){
  image(img,mouseX,mouseY,500,200);
}///wrong,img draw() is not img setup()


5.讓圖片可以在執行之後馬上跑出來(要將圖檔丟進速寫本)
程式:
PImage img;//declare outside
void setup(){
  size(800,500);
  //PImage img=loadImage("https://s.yimg.com/ny/api/res/1.2/zxGb2NoKF5mu9Vqj_ulYmg--~A/YXBwaWQ9aGlnaGxhbmRlcjtzbT0xO3c9ODAw/https://media.zenfs.com/no/cts.com.tw/7283b905993f89a8a706e9e8c07b39b2")
  img=loadImage("pencil.jpg");
}
void draw(){
  image(img,mouseX,mouseY,500,200);

}///wrong,img draw() is not img setup()

6.用程式貼一張背景圖片且可以打洞跟刪除(要將圖檔丟進速寫本)
程式:
PImage imgBG;
int [][] table = new int[45][10];
void setup(){
  size(480,360);
  imgBG=loadImage("pencil.jpg");
}
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寫法...