alanhc 互動技術-week3

alanhc 互動技術-week3

September 26, 2019

筆記

background() 比image()快10倍

一筆成形


void draw() {
  line(mouseX, mouseY, pmouseX, pmouseY); 
}

按下左鍵才畫圖

if (mousePressed == true && mouseButton == LEFT)

void setup() {
    size(600400);
void draw() {
    if (mousePressed == true && mouseButton == LEFT) line(mouseX, mouseY, pmouseX, pmouseY); 
}

畫粗細及輕重



調粗細 strokeWeight(lw);
調顏色 stroke(colorV);
1. 按下方向鍵處理 keyPressed()
2. 變數調整 colorV += 20;lw-=1;


int colorV=0;
int lw=1;
void draw() {
  if (mousePressed == true && mouseButton == LEFT) {
    ellipse(mouseX, mouseY, 33);
    line(mouseX, mouseY, pmouseX, pmouseY);
    stroke(colorV);
    strokeWeight(lw);
  }
}
void keyPressed() {
  if (keyCode == UP) {
     colorV += 20;
  } else if (keyCode == DOWN) {
     colorV -= 20;
  } 
  if (keyCode == LEFT) {
     lw-=1;
  } else if (keyCode == RIGHT) {
     lw+=1;
  } 
  if (colorV<0) colorV=0;
  if (lw<1) lw=1;
}
小畫家

座標系統


void setup() {
    size(600400);
    fill(255,0,0); rect(0,0,50,50);
    fill(0,255,0); rect(0,50,50,50);
    fill(0,0,255); rect(0,100,50,50);
    fill(255,0,255); rect(0,150,50,50);
    fill(0,255,255); rect(0,200,50,50);
    line(50,0,50,400);
    line(25,250,25-7,400);
    line(25,250,25+7,400);    
}
  
void draw() {
   if (mousePressed && mouseX<50) {
      if (mouseY<50stroke(255,0,0);
      else if (mouseY<100stroke(0,255,0);
      else if (mouseY<150stroke(0,0,255);
      else if (mouseY<200)  stroke(255,0,255);
      else if (mouseY<250)  stroke(0,255,255);
      else {
        strokeWeight( (mouseY-250)/10 );
     }
   }
   if (mousePressed && mouseX>50) {
     line(pmouseX, pmouseY, mouseX, mouseY);
   }
}


特殊鍵用keyCode,一般用key

按下滑鼠瞬間
void mousePressed()
按下滑鼠拖曳
void mouseDragged()

畫線用 mouseDragged()
選顏色用 mousePressed()