void setup (){
size(400,400);
background(255); //一定要寫在這裡寫在draw()裡面會重劃畫面
}
void draw(){
}
void mouseDragged(){
strokeWeight(5);
stroke(128,0,0);
line (mouseX,mouseY,pmouseX,pmouseY); //pmouseX與pmouseY為前一個mouse的座標點
}
2. 加上調色盤做變化
int b = 0;
int g = 0;
int r = 0;
void setup () {
size(400, 400);
background(255);
colorMode(RGB, 100);
for (int i = 0 ; i < 100 ; i++){
noStroke();
fill(0,0,i);
rect(0,100+i,100,1);
}
for (int i = 0 ; i < 100 ; i++){
noStroke();
fill(0,i,0);
rect(0,200+i,100,1);
}
for (int i = 0 ; i < 100 ; i++){
noStroke();
fill(i,0,0);
rect(0,300+i,100,1);
}
}
void draw() {
fill(r,g,b);
rect(0,0,100,100);
}
void mouseClicked() {
if (mouseX<100&&mouseY<100) stroke(r,g,b);
}
void mouseDragged() {
if ( mouseX<=100 ) ;
else line (mouseX, mouseY, pmouseX, pmouseY);
if (mouseX<100&&mouseY<100) stroke(r,g,b);
else if (mouseX<100 && mouseY<200) b = mouseY - 100;
else if (mouseX<100 && mouseY<300) g = mouseY - 200;
else if (mouseX<100 && mouseY<400) r = mouseY - 300;
}
註明:可以利用拖曳滑鼠的方式,在紅色,藍色,綠色方塊調整深度,顯示在最上面的方塊,可以點選使用。
3.加上點的大小變化
int b = 0;
int g = 0;
int r = 0;
int Point = 1;
void setup () {
size(500, 400);
background(255);
colorMode(RGB, 100);
for (int i = 0 ; i < 100 ; i++) {
noStroke();
fill(0, 0, i);
rect(0, 100+i, 100, 1);
}
for (int i = 0 ; i < 100 ; i++) {
noStroke();
fill(0, i, 0);
rect(0, 200+i, 100, 1);
}
for (int i = 0 ; i < 100 ; i++) {
noStroke();
fill(i, 0, 0);
rect(0, 300+i, 100, 1);
}
fill(0);
rect (420, 145, 60, 10);
rect (445, 120, 10, 60);
rect (420, 245, 60, 10);
}
void draw() {
strokeWeight(1);
fill(r, g, b);
rect(0, 0, 100, 100);
fill(255);
strokeWeight(1);
rect(400, 0, 100, 100);
fill(255, 255, 255);
rect(400, 0, 100, 100);
strokeWeight(Point);
point(450, 50);
}
void mouseClicked() {
if (mouseX<100&&mouseY<100) stroke(r, g, b);
if (mouseX>400&&mouseY<=200&&mouseY>100) {
Point = Point+1;
if (Point <= 1 )Point = 1;
}
if (mouseX>400&&mouseY<=300&&mouseY>200) Point--;
}
void mouseDragged() {
if ( mouseX<=100 ) ;
else if (mouseX > 400 && mouseY < 300 ) ;
else {
strokeWeight(Point);
line (mouseX, mouseY, pmouseX, pmouseY);
}
if (mouseX<100&&mouseY<100) stroke(r, g, b);
else if (mouseX<100 && mouseY<200) b = mouseY - 100;
else if (mouseX<100 && mouseY<300) g = mouseY - 200;
else if (mouseX<100 && mouseY<400) r = mouseY - 300;
}
心得:現在練習processing的程式當中,主要還是要繪圖之類的,所以總覺得自己畫的爛爛的,很沒有美感,讓人有點傷心,對於程式碼上面沒有太大的問題,只是要自己查的需要研究一下。
沒有留言:
張貼留言