2019年9月26日 星期四

Week03 06161215

Part 1 小畫家

Part 1-1 只能一筆畫到底 !

void setup(){
    size(800,500);
}
void draw(){
   line(mouseX,mouseY,pmouseX,pmouseY);

}


Part 1-2 了解 pmouseX

示意圖 ellipse(mouseX,mouseY,3,3);



Part 1-3 用按鍵改變顏色跟粗細

  if (key=='1') stroke(255, 0, 0);
  if (key=='2') stroke(255, 255, 0);
  if (key=='3') stroke(0, 255, 0);
  if (key=='4') strokeWeight(4);

  if (key=='5') strokeWeight(10);


Part 1-4 用滑鼠就可以改變

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

}


Part 1-5 
透過  mousePressed() mouseDragged() keyPressed()來控制

void mousePressed() {
  if (mouseX<50) {
    if (mouseY<50) stroke(255, 0, 0);
    else if (mouseY<100) stroke(255, 255, 0);
    else if (mouseY<150) stroke(0, 255, 0);
    else if (mouseY<200) stroke(0, 255, 255);
    else if (mouseY<250) stroke(0, 0, 255);
    else {
      strokeWeight((mouseY-250)/10);
    }
  }
}
void mouseDragged() {
  if (mouseX>50) {
    line(pmouseX, pmouseY, mouseX, mouseY);
  }
}
void keyPressed() {
  if (key=='1') stroke(255, 0, 0);
  if (key=='2') stroke(255, 255, 0);
  if (key=='3') stroke(0, 255, 0);
  if (key=='4') stroke(0, 255, 255);
  if (key=='5') stroke(0, 0, 255);
  if (keyCode==UP) line(400, 250, 400, 0);
  if (keyCode==DOWN) line(400, 250, 400, 500);
  if (keyCode==LEFT) line(400, 250, 0, 250);
  if (keyCode==RIGHT) line(400, 250, 800, 250);
}



沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

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