프로세싱배우기 : 기초예제
함수에 대한 이해 1
오늘 포스팅에서는
'함수'에 대해서 꼼꼼하게 살펴보도록하겠습니다.^^
함수에 대한 내용은
함수를 정의(선언)하기
3부분으로 나누어 볼 수 있습니다.
반환값 / 함수이름 / 인자(매개변수)
형태는 아래와 같습니다.
반환값 함수이름(인자) { //함수코드 본체 }
그렇다면 백문이불여일견!
실제 예시를 살펴보겠습니다~
예제 1 void draw() { drawCircle(); } void drawCirlce() { fill(0); ellipse(50, 50, 20, 20); }
관습적으로, 함수는 draw()아래에 위치합니다.
이번에는 인자(매개변수)를 포함한 예시입니다.
여기서 drawCircle()은 예제를 위하여 임의로 정한 이름입니다.
예제 2 void draw(int diameter) { drawCircle(32); } void drawCirlce() { fill(0); ellipse(50, 50, diameter, diameter); }
이제 draw()에서
drawCircle()안에 32만 넣어주어도
직경이 32인 ellipse가 그려지게 되게됩니다.
인자를 갖고있는 함수의 경우가
그렇지 않은 함수보다 더 유연하게 사용가능합니다
(재 사용의 유연성)
<매개변수 전달 핵심 포인트>
- 인자(매개변수)는 함수내에서 지역변수역할을 합니다.
- 함수에서 정의한 것과 같은 수의 매개변수를 전달해야합니다
- 함수에서 정의한 것과 동일한 형식의 인자여야 합니다. (int는 int로!)
함수로 전달가능한 매개변수
변수(20, 5, 4.3등)
문자값(x, y등)
계산식(x/2, random(0, 20)등)
1번 예제의 전체 코드 살펴보기
int x = 0; int y = 0; int speed = 1; void setup() { size(200, 200); smooth(); } void draw() { move(); bounce(); display(); } void move() { x = x + speed; } void bounce() { if((x > width) || (x < 0)){ speed = speed * -1; } } void display() { background(255); rectMode(CENTER); noFill(); stroke(0); rect(x, y, 32, 32); fill(255); rect(x-4, y-4, 4, 4); rect(x+4, y+4, 4, 4); line(x-4, y+4, x+4, y+4); }
- 다니엘 쉬프만, 『프로세싱, 날개를 달다』, 랜덤웍스, 옮김, 비제이퍼블릭, 2009 [본문으로]
'시각화 > 프로세싱' 카테고리의 다른 글
▶ Processing :: 프로세싱 기초예제 - 픽셀 (0) | 2014.05.03 |
---|---|
▶ Processing :: 프로세싱 배우기 :: 기초예제 5 - 배열예제 : 수평라인모션 (0) | 2014.04.28 |
▶ Processing :: 프로세싱 배우기 :: 기초예제 3 - ellipse()와 rect() (0) | 2014.04.16 |
▶ Processing :: 프로세싱 사례 :: Shaping Cyclone (1) | 2014.04.15 |
▶ Processing.js :: Processing.js 시작하기 :: 기초 튜토리얼 (0) | 2014.04.14 |