Week02
第二周上了簡單互動指令,有mousePressed,mouse和pmouse,可以做基本的小畫家功能,for回圈運用
1.mousePressed指令切換背景顔色
mousePressed:滑鼠按下觸發
void setup(){
size(500,500);
}
void draw(){
if(mousePressed) background(255,0,0);//如果按下滑鼠背景色變色
else background(0,255,0);
}
2.mousePressed畫綫
mousePressed還可以用來畫綫
void setup(){
size(500,500);
}
void draw(){
if(mousePressed) line(mouseX,mouseY,0,0);
}
3.mousePressed與pmouse畫綫
line可以用mouse和pmouse來畫出更加自由的圖案
void setup(){
size(500,500);
}
void draw(){
if(mousePressed) line(mouseX,mouseY,pmouseX,pmouseY);//現在滑鼠位置和之前滑鼠位置連綫
}
4.選擇筆觸顔色畫圖
根據mousePressed的位置調整筆觸顔色,實現小畫家的基本功能
void setup(){
size(500,500);
fill(255,0,0); rect(0,0,100,100);//红色
fill(0,255,0); rect(0,100,100,100);//绿色
}
void draw(){
if(mousePressed){//選擇調整顔色或畫綫
if(mouseX<100){//選擇筆觸顔色
if(mouseY<100) stroke(255,0,0);//红色筆觸
else if(mouseY<200) stroke(0,255,0);//绿色筆觸
}else line(mouseX,mouseY,pmouseX,pmouseY);
}
}
5.選擇筆觸大小畫圖
根據mousePressed的位置調整筆觸大小,實現小畫家的基本功能
void setup(){
size(500,500);
rect(0,0,100,100); ellipse(50,50,8,8);//大小為8的圆
rect(0,100,100,100); ellipse(50,150,4,4);//大小爲4的圆
}
void draw(){
if(mousePressed){
if(mouseX<100){//選擇筆觸大小
if(mouseY<100) strokeWeight(8);//筆觸粗
else if(mouseY<200) strokeWeight(4);//筆觸中
}else line(mouseX,mouseY,pmouseX,pmouseY);
}
}
6.加入for回圈的選擇筆觸大小畫圖
較爲不易理解,但行數更少
void setup(){
size(500,500);
for(int i=1;i<8;i++){//rect的y和ellipse的y還有大小隨i有槼律變化
rect(0,i*50,50,50);
ellipse(25,25+i*50,i,i);
}
}
void draw(){
if(mousePressed){
if(mouseX<50){
for(int i=1;i<8;i++){
if(mouseY>i*50 && mouseY<i*50+50){
strokeWeight(i);
}
}
}else line(mouseX,mouseY,pmouseX,pmouseY);
}
}
7.筆觸大小(非回圈)
簡單易懂,但寫的多
void setup(){
size(500,500);
rect(0,50,50,50); ellipse(25,25+50,1,1);
rect(0,100,50,50); ellipse(25,25+100,2,2);
rect(0,150,50,50); ellipse(25,25+150,3,3);
rect(0,200,50,50); ellipse(25,25+200,4,4);
rect(0,250,50,50); ellipse(25,25+250,5,5);
rect(0,300,50,50); ellipse(25,25+300,6,6);
rect(0,350,50,50); ellipse(25,25+350,7,7);
rect(0,400,50,50); ellipse(25,25+400,8,8);
}
void draw(){
if(mousePressed){
if(mouseX<50){
if(mouseY>1*50 && mouseY<1*50+50) strokeWeight(1);
if(mouseY>2*50 && mouseY<2*50+50) strokeWeight(2);
if(mouseY>3*50 && mouseY<3*50+50) strokeWeight(3);
if(mouseY>4*50 && mouseY<4*50+50) strokeWeight(4);
if(mouseY>5*50 && mouseY<5*50+50) strokeWeight(5);
if(mouseY>6*50 && mouseY<6*50+50) strokeWeight(6);
if(mouseY>7*50 && mouseY<7*50+50) strokeWeight(7);
if(mouseY>8*50 && mouseY<8*50+50) strokeWeight(8);
}else line(mouseX,mouseY,pmouseX,pmouseY);
}
}
8.筆觸顔色(非回圈)
void setup(){
size(500,500);
fill(#FF0505); rect(0,50,50,50);
fill(#FFB005); rect(0,100,50,50);
fill(#D0FF05); rect(0,150,50,50);
fill(#05FF24); rect(0,200,50,50);
fill(#05DCFF); rect(0,250,50,50);
fill(#051BFF); rect(0,300,50,50);
fill(#7905FF); rect(0,350,50,50);
fill(#FF05EF); rect(0,400,50,50);
}
void draw(){
if(mousePressed){
if(mouseX<50){
if(mouseY>1*50 && mouseY<1*50+50) stroke(#FF0505);
if(mouseY>2*50 && mouseY<2*50+50) stroke(#FFB005);
if(mouseY>3*50 && mouseY<3*50+50) stroke(#D0FF05);
if(mouseY>4*50 && mouseY<4*50+50) stroke(#05FF24);
if(mouseY>5*50 && mouseY<5*50+50) stroke(#05DCFF);
if(mouseY>6*50 && mouseY<6*50+50) stroke(#051BFF);
if(mouseY>7*50 && mouseY<7*50+50) stroke(#7905FF);
if(mouseY>8*50 && mouseY<8*50+50) stroke(#FF05EF);
}else line(mouseX,mouseY,pmouseX,pmouseY);
}
}
9.筆觸顔色大小結合
void setup(){
size(500,500);
rect(0,50,50,50); ellipse(25,25+50,1,1);
rect(0,100,50,50); ellipse(25,25+100,2,2);
rect(0,150,50,50); ellipse(25,25+150,3,3);
rect(0,200,50,50); ellipse(25,25+200,4,4);
rect(0,250,50,50); ellipse(25,25+250,5,5);
rect(0,300,50,50); ellipse(25,25+300,6,6);
rect(0,350,50,50); ellipse(25,25+350,7,7);
rect(0,400,50,50); ellipse(25,25+400,8,8);
fill(#FF0505); rect(450,50,50,50);
fill(#FFB005); rect(450,100,50,50);
fill(#D0FF05); rect(450,150,50,50);
fill(#05FF24); rect(450,200,50,50);
fill(#05DCFF); rect(450,250,50,50);
fill(#051BFF); rect(450,300,50,50);
fill(#7905FF); rect(450,350,50,50);
fill(#FF05EF); rect(450,400,50,50);
}
void draw(){
if(mousePressed){
if(mouseX>450){
if(mouseY>1*50 && mouseY<1*50+50) stroke(#FF0505);
if(mouseY>2*50 && mouseY<2*50+50) stroke(#FFB005);
if(mouseY>3*50 && mouseY<3*50+50) stroke(#D0FF05);
if(mouseY>4*50 && mouseY<4*50+50) stroke(#05FF24);
if(mouseY>5*50 && mouseY<5*50+50) stroke(#05DCFF);
if(mouseY>6*50 && mouseY<6*50+50) stroke(#051BFF);
if(mouseY>7*50 && mouseY<7*50+50) stroke(#7905FF);
if(mouseY>8*50 && mouseY<8*50+50) stroke(#FF05EF);
}else if(mouseX<50){
if(mouseY>1*50 && mouseY<1*50+50) strokeWeight(1);
if(mouseY>2*50 && mouseY<2*50+50) strokeWeight(2);
if(mouseY>3*50 && mouseY<3*50+50) strokeWeight(3);
if(mouseY>4*50 && mouseY<4*50+50) strokeWeight(4);
if(mouseY>5*50 && mouseY<5*50+50) strokeWeight(5);
if(mouseY>6*50 && mouseY<6*50+50) strokeWeight(6);
if(mouseY>7*50 && mouseY<7*50+50) strokeWeight(7);
if(mouseY>8*50 && mouseY<8*50+50) strokeWeight(8);
}else line(mouseX,mouseY,pmouseX,pmouseY);
}
}
沒有留言:
張貼留言