Clolent

함수


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) ) ;            

}







댓글 로드 중…

블로그 정보

Clolent - 커피물조절달인

최근에 게시된 글