2019年9月19日 星期四

互動技術week02

void setup(){
size(800,300);} 
800x300 畫布

void draw(){
rect(mouseX,mouseY,50,20);} 
依滑鼠位置 畫50x20的方形

void setup() {
  size(800, 300);
  for (int x=0; x<800; x+=16) {     x從0到800間隔16
    for (int y=0; y<300; y+=30) {   y從0到300間隔30
      rect(x, y, 16, 30);                     畫一個方形
    }
  }
}
void draw() {
  int nowX=mouseX/16*16;         滑鼠現在位置/16*16  *註
  int nowY=mouseY/30*30;         
  fill(0);                                         填滿黑色
  rect(nowX, nowY, 16, 30);
}


*註:假設現在位置是162->162/16=10沒有餘數->10*16=160,這樣確保畫的位置都在設定的邊界上


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;
  int 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);
}






PImage img;
void setup() {
  size(1024, 720);
  img = loadImage("https://i.ytimg.com/vi/NydiSr-I0GE/hqdefault.jpg"); 從網頁上找圖片
}
void draw() {
  image (img, mouseX, mouseY, 200, 200);          依照滑鼠位置畫200x200的圖
}












PImage img;
void setup() {
  size(1024, 720);
  img = loadImage("dora weed.jpg");       用已儲存於硬碟的圖片
}
void draw() {
  image (img, mouseX, mouseY, 200, 200);
}









PImage imgBG ;
int [] [] table = new int [45][10];
void setup() {
  size();
  imgBG=loadImage("");
}
void draw() {
  background();
  int nowI=mouseX/16,nowJ=mouseY/30;
  if(mousePressed && mouseButton == LEFT){

    table[nowI][nowJ]=1;
  for (int i=0; i<45; i++) {
    for (int j=0; j<10; j++) {
      if (table[i][j]==1) {
        rect(i*16, j*30, 16, 30);
      }
    }
  }
}

沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

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