프로세싱의 mouseX와 mouseY 변수는 현재 마우스 커서의 X, Y 좌표를 나타냅니다.
mouseX
mouseY
창의 중심에서 마우스 커서의 현재 위치까지 선을 그려 봅시다.
이번에는 마우스 버튼을 누를 때만 그림을 새로 그리도록 해봅시다. mousePressed() 함수를 선언하면 마우스 버튼을 누를 때마다 호출해 줍니다.
void mousePressed()
마우스 왼쪽 버튼과 다른 버튼을 구분하여 다른 색상을 칠해봅시다. 프로세싱의 mouseButton 변수는 현재 눌러진 마우스 버튼을 나타냅니다. LEFT는 마우스 왼쪽 버튼, RIGHT는 오른쪽 버튼입니다.
mouseButton
frameRate() 함수는 draw() 함수를 초당 몇 번(fps) 호출할지 설정합니다. 초기값은 60 fps입니다. 즉, 초당 60번 호출합니다.
frameRate(fps)
fill() 함수에 의해 글자 색도 변하게 되는데 글자 색은 그대로 두고 도형의 내부 색상만 변하도록 해봅시다.
pushStyle() 함수는 현재 스타일(색상, 선의 두께, 글자 크기 등)을 저장합니다. popStyle() 함수는 저장된 스타일로 되돌아 갑니다.
pushStyle()
popStyle()
프로세싱의 frameCount 변수는 현재 프레임 번호를 나타냅니다. 1부터 시작하여 draw() 함수가 호출될 때마다 1씩 증가합니다.
frameCount
frameCount를 256으로 나눈 나머지는 0부터 255까지의 값을 가짐.
random(low, high) 함수는 low부터 high까지(high는 포함되지 않음)의 무작위 수를 float형으로 반환합니다. random(high)와 같이 값을 하나만 입력하면 0부터 high까지(high는 포함되지 않음)의 무작위 수를 float형으로 반환합니다.
random(high)
random(low, high)
float r;
float g;
float b;
float a;
float x;
float y;
float size;
void setup(){
size(2000,1000);
smooth();
background(255);
noStroke();
frameRate(10);
}
void draw(){
r=random(255);
g=random(255);
b=random(255);
a=int(random(255));
x=random(width);
y=random(height);
size=random(100);
fill(r, g, b, a);
ellipse(x, y, size, size);
}
mouseDragged() 함수는 마우스 버튼을 누른 상태에서 마우스 커서를 움직이면 호출됩니다.
void mouseDragged()
프로세싱의 pmouseX와 pmouseY 변수는 이전 프레임의 마우스 커서 X, Y 좌표를 나타냅니다.
pmouseX
pmouseY
이전 프레임의 마우스 커서 좌표 (pmouseX, pmouseY)에서 현재 프레임의 마우스 커서 좌표 (mouseX, mouseY)까지 선을 누적하여 그리면 마우스 커서를 드래그하여 그림을 그릴 수 있습니다.
그림판으로 그린 그림을 파일로 저장하고 싶습니다. keyPressed() 함수는 키보드의 키를 누르면 호출되고, 프로세싱의 key 변수는 눌러진 키를 나타냅니다.
void keyPressed()
key
saveFrame() 함수는 입력한 파일 이름(filename)으로 현재 창의 화면을 그림 파일로 저장합니다. 파일 이름의 확장자는 tif, tga, jpg, png 중의 하나입니다.
saveFrame(filename)
키보드의 알파벳 S 키를 누르면 현재 창의 화면을 저장하고, 다른 키를 누르면 창의 그림을 지우도록 해봅시다.
그림 파일의 전체 경로를 지정하지 않고 파일 이름만 지정하는 경우
작성한 코드가 저장된 위치와 같은 위치에 그림 파일이 저장됩니다.