2019年9月26日 星期四

Week03_小畫家

1.draw

void setup(){size(800,300);}
void draw(){
     line(mouseX,mouseY, pmouseX,pmouseY); //可以畫線
}
void setup(){
  size(800,300);
}
void draw(){
  if(mousePressed && mouseButton==LEFT){ //按左鍵才可畫
     line(mouseX,mouseY, pmouseX,pmouseY);
  }
}

2.小畫家

void setup(){
  size(800,300);
  background(255);
  stroke(0);
  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(0);rect(0,150,50,50);
}
void draw(){
  strokeWeight(4);
  if(mousePressed && mouseButton==LEFT){
     line(mouseX,mouseY, pmouseX,pmouseY);
  }
}
void mousePressed(){ //按此區域可變色
  if(mouseX<50 && mouseY<50){stroke(255,0,0);}
  else if(mouseX<50 && mouseY<100){stroke(0,255,0);}
  else if(mouseX<50 && mouseY<150){stroke(0,0,255);}
  else if(mouseX<50 && mouseY<200){stroke(0);}
}
void setup(){
  size(700,400);
  background(255);
  fill(255,0,0);rect(0,0,50,50);
  fill(0,255,0);rect(0,50,50,50);
  fill(0,255,255);rect(0,100,50,50);
  fill(0,0,255);rect(0,150,50,50);
  fill(0);rect(0,200,50,50);
  fill(255);rect(0,250,50,150);
  line(25,250, 25-7,400);line(25,250, 25+7,400);
}
void draw(){
  if(mousePressed && mouseButton==LEFT && mouseX>50){
     line(mouseX,mouseY, pmouseX,pmouseY);
  }
}
void mousePressed(){
  if(mouseX<50){ //按此區域可變色
    if(mouseY<50){stroke(255,0,0);}
    else if(mouseY<100){stroke(0,255,0);}
    else if(mouseY<150){stroke(0,255,255);}
    else if(mouseY<200){stroke(0,0,255);}
    else if(mouseY<250){stroke(0);}
    else{ //按此區域可變粗細
      strokeWeight( (mouseY-250)/10 );
    }
  }
}

3.函數分類

void setup(){
  size(700,400);
  background(255);
  fill(255,0,0); rect(0,0,50,50);
  fill(0,255,0); rect(0,50,50,50);
  fill(0,255,255); rect(0,100,50,50);
  fill(0,0,255); rect(0,150,50,50);
  fill(0); rect(0,200,50,50);
  fill(255); rect(0,250,50,150);
  line(25,250, 25-7,400); line(25,250, 25+7,400);
}
void draw(){
}
void mousePressed(){
  if(mouseX<50){
    if(mouseY<50) stroke(255,0,0);
    else if(mouseY<100) stroke(0,255,0);
    else if(mouseY<150) stroke(0,255,255);
    else if(mouseY<200) stroke(0,0,255);
    else if(mouseY<250) stroke(0);
    else{
      strokeWeight( (mouseY-250)/10 );
    }
  }
}
void mouseDragged(){ //可畫線
  if(mouseX>50 && mouseButton==LEFT){ 
     line(mouseX,mouseY, pmouseX,pmouseY);
  }
}
void keyPressed(){ //按keyCode可畫直線(固定)
  if(keyCode==UP) line(350,200, 350,0);
  if(keyCode==DOWN) line(350,200, 350,400);
  if(keyCode==LEFT) line(350,200, 50,200);
  if(keyCode==RIGHT) line(350,200, 700,200);
}







沒有留言:

張貼留言

alanhc 互動技術-week17 [final]

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