발표 챕터
197p Shape 3: Parameters, Recursion
205p Input 1: Mouse 1
217p Drawing 1 : Static Forms
223p Input 2: Keyboard
229p Input 3: Events
- 이전 챕터의 function(함수)을 이용한 form을 만들어 본다
- Mouse와 keyboard로 입력을 받아서 활용하는 방법을 알아본다.
Shape 3: Parameters, Recursion
- Parameter 값을 받는 function을 사용하면, parameter 값에 따라 다양한 모양을 같는 form을 만들 수 있다.
- Function을 만들 때, 자신의 블록 안에 다시 자기 자신을 사용하여 반복적인 형태나 패턴을 만드는 방법을
recursion이라 한다.
- Recursive function에 random(), randomSeed()함수를 사용하면, 불규칙 적인 형태를 만들 수 있다.
- 중요 pages
199-200p : Parameter값을 받는 함수를 사용하여 만든 form들에 대한 예제
201p : Recursion 개념을 사용한 function의 구조 설명
203-204p : Recursive function에 random()함수를 사용한 예제
Input 1: Mouse 1
-주요 syntax
mouseX, mouseY, pmouseX, pmouseY, mousePressed, mouseButton
cursor(), noCursor()
- mouseX, mouseY는 현재 실행 화면에 위치한 마우스 포인터의 x,y 좌표값을 읽어온다.
- 마우스 좌표값을 이용하면 화면상에서 마우스에 따른 그래픽의 움직임을 만들어 낼 수 있고,
다양한 수치를 적용하여, 움직임에 변화를 줄 수 있다.
- mousePressed 는 현재 마우스 버튼이 눌러져 있는 상태인지 체크 한다.
mouseButton은 가장 최근에 눌린 마우스 버튼(LEFT, CENTER, RIGHT)을 알 수 있다.
- noCursor() 를 사용하면, 실행화면에서 마우스 포인터를 안보이게 할 수 있다.
cursor()함수에 ARROW, CROSS, HAND, MOVE,TEXT, WAIT 과 같은 parameter를 사용하면
마우스 포인터 모양을 바꿀 수 있다.
- 중요 pages
206-211p : 마우스 좌표값을 이용한 다양한 예제들.
212-213p : 마우스 버튼을 이용한 예제들
Drawing 1 : Static Forms
- 앞 챕터에서 배운 마우스 관련 코드들을 사용하면 간단한 drawing 프로그램을 짤 수 있다.
- 마우스의 좌표값과 도형을 그리는 함수들을 응용하면, 여러가지 브러쉬 효과가 가능하다.
- 도형이나 점 대신, image 파일을 불러와서 브러쉬처럼 쓸 수 있다.
- 중요 pages
218-220p : 점이나 도형들을 사용한 drawing 프로그램 예제
221p : image 파일을 브러쉬로 사용하는 예제.
Input 2: Keyboard
-주요 syntax
keyPressed, key, keyCode
- keyPressed는 키보드의 자판 눌린것을 확인하는 boolean 변수 이다.
자판이 눌렸으면 true, 아니면 false값을 갖는다.
- key는 특정한 가장 최근에 눌린 key가 저장이된는 char 변수 이다. key에 저장된 글자를 확인하려면
작은 따옴표를 써야한다. (큰 따옴표를 사용하면 에러 발생)
- Coded key는 특별한 용도가 미리 정해진 특수키들을 말하는데, alt, enter, return, 화살표키등이 이에 해당한다.
key == CODED 를 if문에 사용하면 coded key인지 확인할 수 있으며, keyCode를 통해 어떤 특수키가
눌려졌는지 알 수 있다.
- 중요 pages
224-226p : key와 keyPressed를 사용한 예제들
227p : coded key(화살표키, delete,enter,ctrl,alt,enter등)들을 사용한 예제들.
Input 3: Events
-주요 syntax
mousePressed(), mouseReleased(), mouseMoved(), mouseDragged()
keyPressed(), keyReleased()
loop(), redraw()
- mousePressed(), mouseReleased(), mouseMoved(), mouseDragged() 를 사용하면, 각각 마우스가 눌렸을때,
마우스 버튼을 놓을때, 마우스가 움직일때, 마우스가 드래그 될때, 우리가 원하는 동작을 하는 함수를 만들 수 있다.
- keyPressed(), keyReleased() 역시 키가 눌렸을대, 눌려진 키가 놓아질 때에 반응하는 함수를 만들 수 있다.
- noLoop()함수를 쓰면 draw()함수가 한 번만 실행되며, loop()함수를 쓰면 draw()함수가 다시 반복해서 실행되게 된다
redraw()함수를 쓰면, redraw()를 쓸 때마다 draw()함수가 한 번씩 반복된다.
- 중요 pages
230-231p : mouse event를 사용한 예제들
232-235p : key event를 사용한 예제들
235-236p : loop(), redraw()함수를 사용하여 프로그램의 흐름을 제어하는 예제