2020年9月21日 星期一

❀week02

顏色

background:背景顏色(粉)
stroke:外框線(紫)
fill:填滿內部顏色(黃)



   












*能讓程式打出中文的方法*
(在偏好設定改字型)











用滑鼠互動變顏色

先做大小設定
然後再做顏色的設定
(如果滑鼠按下去會變粉紅色,若沒有則會是藍色)
*程式碼*
void setup(){
  size(500,500);
}
void draw(){
  if(mousePressed) background(#FF95E7);
  else background(#8BFCFF);
}



















黑白能畫圖的小畫家


先做大小設定
然後再設定用滑鼠畫線
*mouseX,mouseY:之後的線
*pmouseX,pmouseY:之前的線
*程式碼*
void setup(){  
  size(500,500);
}
void draw(){
  if(mousePressed){
    line(mouseX,mouseY,pmouseX,pmouseY);
  }
}


















彩色能畫圖的小畫家

(左邊是調色盤的概念,右邊是畫布的概念)
一樣先設定視窗大小
再設定左邊的顏色跟方形調色盤的座標位置
然後設定滑鼠按的地方若x小於100(調色盤x座標都小於100)就會變成相對應的顏色
而x大於100的區域就是能畫線的地方
*程式碼*
void setup(){  
  size(600,500);
}
void draw(){
  fill(#FF95E7); rect(0,0,100,100);
  fill(#FF8640); rect(0,100,100,100);
  fill(#F2FF40); rect(0,200,100,100);
  fill(#40FF61); rect(0,300,100,100);
  fill(#40E1FF); rect(0,400,100,100);
  if(mousePressed && mouseX<100){//調色盤
    if(mouseY<100) stroke(#FF95E7);
    else if(mouseY<200) stroke(#FF8640);
    else if(mouseY<300) stroke(#F2FF40);
    else if(mouseY<400) stroke(#40FF61);
    else if(mouseY<500) stroke(#40E1FF);
  }else if(mousePressed && mouseX>100){//畫圖區域
    line(mouseX,mouseY,pmouseX,pmouseY);
  }
}











可以注意到上圖調色盤的畫框會因為你按哪個顏色就變什麼顏色
若不希望框變顏色,就把程式碼改成...
*程式碼*
void setup(){  
  size(600,500);
  fill(#FF95E7); rect(0,0,100,100);
  fill(#FF8640); rect(0,100,100,100);
  fill(#F2FF40); rect(0,200,100,100);
  fill(#40FF61); rect(0,300,100,100);
  fill(#40E1FF); rect(0,400,100,100);
}
void draw(){
  if(mousePressed && mouseX<100){//調色盤
    if(mouseY<100) stroke(#FF95E7);
    else if(mouseY<200) stroke(#FF8640);
    else if(mouseY<300) stroke(#F2FF40);
    else if(mouseY<400) stroke(#40FF61);
    else if(mouseY<500) stroke(#40E1FF);
  }else if(mousePressed && mouseX>100){//畫圖區域
    line(mouseX,mouseY,pmouseX,pmouseY);
  }
}



















strokeWeight:改畫筆粗度





















save存檔功能

*程式碼*
void setup(){  
  size(600,500);
  fill(#FF95E7); rect(0,0,100,100);
  fill(#FF8640); rect(0,100,100,100);
  fill(#F2FF40); rect(0,200,100,100);
  fill(#40FF61); rect(0,300,100,100);
  fill(#40E1FF); rect(0,400,100,100);
  strokeWeight(8);//8號粗
}
void keyPressed(){//有按鍵按下去
  save("skz");//存檔
}
void draw(){
  if(mousePressed && mouseX<100){//調色盤
    if(mouseY<100) stroke(#FF95E7);
    else if(mouseY<200) stroke(#FF8640);
    else if(mouseY<300) stroke(#F2FF40);
    else if(mouseY<400) stroke(#40FF61);
    else if(mouseY<500) stroke(#40E1FF);
  }else if(mousePressed && mouseX>100){//畫圖區域
    line(mouseX,mouseY,pmouseX,pmouseY);
  }
}


沒有留言:

張貼留言