함수
void mouseClicked ( )
기본으로 이미 세팅되어있는 함수로 이름에서 알 수 있 듯,
마우스가 눌렸을 때 어떠한 일이 수행 되는 함수다.
안에 내용을 내 맘대로 세팅하면 된다.
void beginShape ( )
void endShape ( CLOSE ) // void endShape ( )
vertex( X, Y ) 를 줘서 한붓그리기를 하는 녀석
endShape 안에 CLOSE 를 주면 알아서 닫아주고 안넣으면 그냥 빈채로 있다.
void text ( string, X, Y )
텍스트를 출력해주는 녀석이다. 내용, X좌표, Y좌표 순서
void textSize ( float size )
출력될 텍스트의 사이즈를 바꿔주는 녀석
변수
pmouseX , pmouseY
이전 프레임의 마우스 좌표
mouseButton
눌린 마우스의 버튼이 오른쪽인지 왼쪽인지 판단할 여지를 주는 녀석으로
LEFT , RIGHT 를 이용해서 구분 가능
keyPressed
어떠한 키가 눌렸다면 을 판단해주는 bool 형 변수
key
키보드의 어떠한 키를 지칭 할 수 있는 녀석으로
스페이스는 ' '
기타 다른 키들은 'b' , 'c' 등으로 대응 된다.
기타
기본 WINDOW 크기
100 x 100 으로 열리게 된다. 별다른 세팅을 하지 않았을 경우 !
글자색
fill 의 영향을 받는다.
예제 코드
누르고 그리는 대로 선이 그려지는 코드
void setup(){
size ( 800,600) ;
clear();
background(255);
}
void draw(){
if( mousePressed ){
stroke ( 255,0,0 ) ;
line ( pmouseX, pmouseY, mouseX, mouseY );
}
}
왼클릭 => 선그리기 오른쪽클릭 => 지우개 기능
void setup(){
size ( 800,600) ;
clear();
background(255);
}
void draw(){
if( mousePressed && ( mouseButton == LEFT ) ){
stroke ( 178,230,99 ) ;
strokeWeight( 10 ) ;
line ( pmouseX, pmouseY, mouseX, mouseY );
}
else if (mousePressed ){
stroke (255) ;
line ( pmouseX, pmouseY, mouseX, mouseY );
}
}
왼클릭, 선그리기 / 오른쪽클릭, 지우개 기능 / 스페이스 색바꾸기
void setup(){
size ( 800,600) ;
clear();
background(255);
}
void draw(){
if( mousePressed && ( mouseButton == LEFT ) ){
// stroke ( 178,230,99 ) ;
strokeWeight( 10 ) ;
line ( pmouseX, pmouseY, mouseX, mouseY ;
}
else if (mousePressed ){
stroke (255) ;
line ( pmouseX, pmouseY, mouseX, mouseY );
}
if( keyPressed && key == ' ' )
stroke ( random(255), random(255), random(255) ) ;
}
다각형 그리기
beginShape( );
vertex( 180, 82 ) ;
vertex( 207 , 36 ) ;
vertex( 214, 63 ) ;
vertex( 407, 11 ) ;
vertex( 412, 30 ) ;
vertex( 219, 82 ) ;
vertex( 226, 109 ) ;
vertex( 180, 82 ) ;
endShape() ;
공룡 대충 그리고, 두놈이 움직이는 그림 그리기
int a = 0 ;
int b = 0 ;
int c = 0 ;
int switch_001 = 0 ;
void setup(){
size ( 900,600 );
}
void draw(){
background(0) ;
if( 400 + a >= 390 + 500 - 290 + b ){
switch_001 = 1 ;
}
switch( switch_001 ) {
case 0 :
a+=3 ;
b-=3 ;
fill(255) ;
beginShape();
vertex((200 + a) ,50 ) ;
vertex((400 + a) , 150 ) ;
vertex((350 + a) , 200 ) ;
vertex((390 + a) , 230 ) ;
vertex( (280 + a) , 250 ) ;
vertex((270 + a) , height ) ;
vertex( (100 + a) , height ) ;
vertex((240 + a) , 200 ) ;
vertex( (80 + a) , 500 ) ;
endShape( CLOSE ) ;
fill(0) ;
ellipse( (330 + a) % width ,150, 30, 30 ) ;
// + 500
fill(255) ;
beginShape();
vertex(200 + 500 + b ,50 ) ;
vertex(400 + 500 - 300+ b , 150 ) ;
vertex(350 + 500 - 200 + b , 200 ) ;
vertex( 390 + 500 - 290 + b , 230 ) ;
vertex( 280 + 500 - 100 + b , 250 ) ;
vertex( 270+ 500 - 30 + b, height ) ;
vertex( 100+ 500 + 300 + b, height ) ;
vertex( 240+ 500 + 100 + b, 200 ) ;
vertex( 80 + 500 + 300 + b , 500 ) ;
endShape( CLOSE ) ;
fill(0) ;
ellipse( 330 + 330 + b,150, 30, 30 ) ;
break;
case 1 :
textSize(150);
fill(255) ;
text("!!!", (300 + a) , 30 - c ) ;
c-=3 ;
fill(255) ;
beginShape();
vertex((200 + a) ,50 - c) ;
vertex((400 + a) , 150 - c ) ;
vertex((350 + a) , 200 - c) ;
vertex((390 + a) , 230 - c) ;
vertex( (280 + a) , 250 - c ) ;
vertex((270 + a) , height - c) ;
vertex( (100 + a) , height - c) ;
vertex((240 + a) , 200 - c) ;
vertex( (80 + a) , 500 - c) ;
endShape( CLOSE ) ;
fill(0) ;
ellipse( (330 + a) % width ,150 - c, 30, 30 ) ;
// + 500
fill(255) ;
beginShape();
vertex(200 + 500 + b ,50 - c) ;
vertex(400 + 500 - 300+ b , 150 - c) ;
vertex(350 + 500 - 200 + b , 200 - c) ;
vertex( 390 + 500 - 290 + b , 230 - c) ;
vertex( 280 + 500 - 100 + b , 250 - c) ;
vertex( 270+ 500 - 30 + b, height - c ) ;
vertex( 100+ 500 + 300 + b, height - c) ;
vertex( 240+ 500 + 100 + b, 200 - c ) ;
vertex( 80 + 500 + 300 + b , 500 - c) ;
endShape( CLOSE ) ;
fill(0) ;
ellipse( 330 + 330 + b,150 - c, 30, 30 ) ;
if( 20 - c >= height ) {
a = b = c = switch_001 = 0 ;
}
}
}
가운데 그림판 놓고, 각 색 클릭하면 그리는 선 색 바꾸기
int colorarray[]={
0,500,300,100,
300,500,300,100,
600,500,300,100} ;
void setup(){
size ( 900,600 );
for ( int i = 0 ; i < 3 ; i ++ ){
if(i == 0 )
fill(255,0,0) ;
else if( i == 1 )
fill(0,255,0) ;
else
fill(0,0,255) ;
rect(colorarray[i*4] ,colorarray[i*4 + 1] ,colorarray[i*4 + 2] ,colorarray[i*4 + 3] ) ;
}
fill(255);
rect(0,0,900,500 ) ;
}
void draw(){
textSize(25);
text(" Random Color : Space Key " , 350, 550 ) ;
if( mousePressed && ( mouseButton == LEFT ) && mouseY <= 499 ){
strokeWeight( 10 ) ;
line ( pmouseX, pmouseY, mouseX, mouseY );
}
else if( mousePressed && ( mouseButton == LEFT ) && mouseY >= 499 ){
if( mouseX <= 300 )
stroke(255,0,0);
else if ( mouseX <= 600 )
stroke(0,255,0);
else
stroke ( 0,0,255) ;
}
else if (mousePressed && mouseY <= 499 ){
fill(255);
rect(0,0,900,500 ) ;
}
if( keyPressed && key == ' ' )
stroke ( random(255), random(255), random(255) ) ;
}