카테고리 없음

프로세싱 마우스 이벤트 함수

abc0123 2017. 9. 26. 13:51
반응형

 

얼마 전 프로세싱 프로그램 설치를 해봤는데 이번 글에서는 컴퓨터의 윈도우 창에서 마우스를 클릭하거나 휠을 돌릴 때 발생하는 프로세싱 이벤트에 대해서 정리를 해보자. 예전에 자바 기본서 볼 때 모두 한 번씩은 다뤄봤던 내용들이지만 다시 한 번 하나씩 복습을 해본다.

 

앞글 프로세싱 기초에서 정리했듯이 이 프로그램 역시 아두이노와 비슷하게 처음 시작할 때 한 번 실행되는 setup()과 계속 반복되는 draw()가 기본 함수인데 이것 외에 각종 마우스 이벤트 함수를 작성해서 제대로 작동하는지 그 내용을 콘솔 창에 띄워서 확인하는 내용으로 정리를 해보자.

 

 

 가장 먼저 알아볼 것은 mousePressed()인데 단어의 뜻에서도 짐작할 수 있듯이 마우스를 클릭했을 때 실행되는 이벤트이다. 이 내용을 확인하기 위해서 다음과 같이 코딩을 해보자.

 

pressed

 

▲ setup()에서는 윈도우 창의 크기를 설정했으며 그 크기는 300x300이다. 그리고 draw()는 아직 할 일이 없기 때문에 비워놓고 mousePressed() 이벤트 함수를 작성했으며 클릭했을 때 문자열이 콘솔창에 출력되도록 하고 있는 내용이다. 실행한 후 윈도우 창을 마우스 클릭해보자.

 

클릭

 

▲ 이처럼 윈도우를 클릭하자 이벤트가 발생하면서 그 안에 있던 내용이 출력되는 걸 확인할 수 있다. 다음은 mouseButton 변수에 대해서 알아보자. 이 녀석은 어떤 마우스 버튼이 눌렸는지 확인할 수 있는 변수인데 앞에서 작성한 함수 안에 다음과 같이 코딩을 해서 그 내용을 확인해보자.

 

if문

 

▲ if문의 조건에 mouseButton의 값이 상수로 지정된 왼쪽, 오른쪽, 중앙과 같다면 각각의 상황에 해당하는 문자열을 출력하도록 하고 있는데 이 역시 프로그램을 실행한 후 각각의 버튼을 클릭해보자.

 

순서대로

 

▲ 보통 어떤 동작을 요구할 때 키보드보다는 마우스를 사용하는 게 편하기 때문에 자주 사용될 거 같으니 잘 익혀두도록 하고 다음은 마우스를 눌렀다가 떼는 순간 발생하는 mouseReleased()에 대해서 알아보자. 이건 눌렀을 때 발생하는 녀석과 반대로 떼는 순간 인식하는데 이 역시 소스 코드를 작성해서 확인해보자.

 

released

 

▲ 역시 발생하는 순간을 확인하기 위해서 간단한 문자열 출력을 하도록 작성했는데 실행해서 확인해보면 클릭하는 순간에는 아무것도 작동하지 않다가 손가락을 떼는 순간 문자열이 출력된다.

 

 

떼는 순간

 

▲ 이 부분은 글로 정리할 수 없는 부분이기에 직접 해보면서 확인하는 방법밖에 없을듯하다. 다음은 마우스가 움직일 때 발생하는 이벤트인 mouseMoved(), 누른 상태에서 움직일 때 인식하는 mouseDragged(), 중앙의 휠을 돌렸을 때 발생하는 mouseWheel()에 대해서 알아보자. 이 역시도 앞에서 확인했던 방법대로 각 상황에 맞는 문자열을 출력하도록 해서 각각 확인을 해보자.

 

움직임

 

▲ 윈도우창에서 움직이기만 해도 이처럼 인식을 하는 함수이다. 다음은 누른 상태로 움직일 때를 살펴보자.

 

드래그

 

▲ 이 녀석은 그냥 움직일 때는 아무 반응을 보이지 않다가 클릭한 후 움직이면 그때서야 반응을 하게 된다. 마지막으로 중앙에 있는 휠을 돌렸을 때 반응하는 녀석을 알아보자.

 

휠

 

▲ 프로그램 실행 후 윈도우 창 위에서 휠을 돌리자 콘솔창에서 입력한 문자열이 출력된다.

 

이렇게 해서 프로세싱에서 마우스 이벤트들을 알아봤는데 아주 유용하게 사용될 녀석들인 거 같으니 잘 기억하도록 하고 이번 글은 여기서 마무리하자.

반응형