티스토리 뷰
이름 createShape()
예제
PShape square; // PShape 객체
void setup() {
size(100, 100);
// 사각형인 PShape 객체를 생성합니다.
// 매개변수 사용법은 rect() 함수와 비슷합니다.
square = createShape(RECT, 0, 0, 50, 50);
square.setFill(color(0, 0, 255));
square.setStroke(false);
}
void draw() {
shape(square, 25, 25);
}
_____________________________
PShape s; // PShape 객체
void setup() {
size(100, 100);
// 각 정점을 일일이 지정하는 방식으로 사각형인 커스텀 PShape 객체를 생성합니다.
s = createShape();
s.beginShape();
s.fill(0, 0, 255);
s.noStroke();
s.vertex(0, 0);
s.vertex(0, 50);
s.vertex(50, 50);
s.vertex(50, 0);
s.endShape(CLOSE);
}
void draw() {
shape(s, 25, 25);
}
_____________________________
PShape s;
void setup() {
size(100, 100, P2D);
s = createShape();
s.beginShape(TRIANGLE_STRIP);
s.vertex(30, 75);
s.vertex(40, 20);
s.vertex(50, 75);
s.vertex(60, 20);
s.vertex(70, 75);
s.vertex(80, 20);
s.vertex(90, 75);
s.endShape();
}
void draw() {
shape(s, 0, 0);
}
_____________________________
PShape alien, head, body;
void setup() {
size(100, 100);
// 도형 그룹을 생성합니다.
alien = createShape(GROUP);
// 두 개의 도형을 생성합니다.
ellipseMode(CORNER);
head = createShape(ELLIPSE, -25, 0, 50, 50);
head.setFill(color(255));
body = createShape(RECT, -25, 45, 50, 40);
body.setFill(color(0));
// 부모 그룹에 두개의 "자식" 객체를 추가합니다.
alien.addChild(body);
alien.addChild(head);
}
void draw() {
background(204);
translate(50, 15);
shape(alien); // 도형 그룹을 그립니다.
}
설명
createShape() 함수는 새로운 도형을 정의할 때 사용됩니다. 일단 도형이 생성되면, 이 도형은 shape() 함수로 그릴 수 있습니다. 이 함수는 기본적으로 새로운 기본도형을 정의합니다. 다음 매개변수들 중 하나를 첫번째 매개변수로 사용할 수 있습니다: ELLIPSE, RECT, ARC, TRIANGLE, SPHERE, BOX, QUAD, 또는 LINE 이 그것입니다. 이 매개변수들은 대응되는 다음 도형함수들과 동일합니다: ellipse(), rect(), arc(), triangle(), sphere(), box(), quad(), 그리고 line() 입니다. 위의 첫번째 예제는 그 작동원리를 보여주고 있습니다.
커스텀 도형들은 createShape() 함수를 매개변수 없이 사용해서 만들 수 있습니다. 도형이 그려지기 시작하고 나면, 그리기 속성이나 기하 함수들은 beginShape() 와 endShape() 메소드 사이에서 곧바로 적용될 수 있습니다. 위의 두번째 예제를 보면, beginShape()가 어떤 방식으로 사용되고있는지 알 수 있습니다.
또한 createShape() 함수는 다른 도형들로 이루어진 복잡한 도형을 만드는 데에도 사용될 수 있습니다. 그러한 도형은 "그룹"이라고 불리우며, GROUP을 첫번째 매개변수로 사용하여 만들 수 있습니다. 네번째 예제를 보면 그 작동방식을 파악할 수 있습니다.
createShape() 함수를 사용하고 나면, 선과 채우기 색상은 위의 예시처럼 setFill() 과 setStroke() 메소드를 호출해 바로 설정할 수 있습니다. PShape 클래스의 모든 메소드와 필드 리스트는 Processing Javadoc에서 확인할 수 있습니다.
문법
createShape()
createShape(type)
createShape(kind, p)
매개변수
kind int: POINT, LINE, TRIANGLE, QUAD, RECT, ELLIPSE, ARC, BOX, SPHERE 중 하나
p float[]: 도형의 종류와 맞는 매개변수
반환
PShape
연관항목
PShape
endShape()
loadShape()
'Programming > 프로세싱 레퍼런스' 카테고리의 다른 글
[프로세싱 레퍼런스 한국어판] - extends (0) | 2020.01.30 |
---|---|
[프로세싱 레퍼런스 한국어판] - exit() (0) | 2020.01.30 |
[프로세싱 레퍼런스 한국어판] - circle() (0) | 2019.09.27 |
[프로세싱 레퍼런스 한국어판] - rect() (0) | 2019.09.22 |
[프로세싱 레퍼런스 한국어판] - square() (0) | 2019.09.21 |
- GUI
- GUI 프로그래밍
- java
- metaphysics
- Philosophy
- processing
- processing reference
- PyQT
- PySide6
- Pyside6 사용법
- Python
- Qt for Python
- StanfordEncyclopedia
- 스탠포드철학사전
- 철학
- 철학사전
- 프로그래밍
- 프로세싱
- 프로세싱 레퍼런스
- 프로세싱 레퍼런스 한국어판
- 프로세싱 레퍼런스 한글판
- 프로세싱 사용법
- 프로세싱 튜토리얼
- 형이상학
- Total
- Today
- Yesterday