Processing, createShape()
用法介绍。
用法
createShape()
createShape(type)
createShape(kind, p)
参数
kind
(int)
POINT、LINE、TRIANGLE、QUAD、RECT、ELIPSE、ARC、BOX、SPHEREp
(float[])
与形状类型匹配的参数
返回
PShape
说明
createShape()
函数用于定义新形状。创建后,可以使用shape()
函数绘制此形状。使用该函数的基本方法定义了新的原始形状。以下参数之一用作第一个参数:ELLIPSE
、RECT
、ARC
、TRIANGLE
、SPHERE
、BOX
、QUAD
或LINE
。这些不同形状中的每一个的参数与其对应的函数相同:ellipse()
、rect()
、arc()
、triangle()
、sphere()
、box()
、quad()
和line()
。上面的第一个例子阐明了它是如何工作的。
可以使用不带参数的createShape()
制作自定义的独特形状。形状启动后,可以在beginShape()
和endShape()
方法中将绘图属性和几何图形直接设置为形状。有关详细信息,请参见上面的第二个示例,以及所有选项的beginShape()
参考。
createShape()
函数还可用于制作由其他形状组成的复杂形状。这称为"group",它是通过使用参数GROUP
作为第一个参数创建的。请参阅上面的第四个示例以了解它是如何工作的。
使用 createShape()
后,可以通过调用 setFill()
和 setStroke()
等方法来设置描边和填充颜色,如上面的示例所示。 PShape 类的方法和字段的完整列表在 Processing Javadoc 中。
例子
PShape square; // The PShape object
void setup() {
size(100, 100);
// Creating the PShape as a square. The
// numeric arguments are similar to 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; // The PShape object
void setup() {
size(100, 100);
// Creating a custom PShape as a square, by
// specifying a series of vertices.
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);
// Create the shape group
alien = createShape(GROUP);
// Make two shapes
ellipseMode(CORNER);
head = createShape(ELLIPSE, -25, 0, 50, 50);
head.setFill(color(255));
body = createShape(RECT, -25, 45, 50, 40);
body.setFill(color(0));
// Add the two "child" shapes to the parent group
alien.addChild(body);
alien.addChild(head);
}
void draw() {
background(204);
translate(50, 15);
shape(alien); // Draw the group
}
相关用法
- Processing createFont()用法及代码示例
- Processing createImage()用法及代码示例
- Processing createInput()用法及代码示例
- Processing createReader()用法及代码示例
- Processing createGraphics()用法及代码示例
- Processing createWriter()用法及代码示例
- Processing case用法及代码示例
- Processing clip()用法及代码示例
- Processing camera()用法及代码示例
- Processing curveDetail()用法及代码示例
- Processing catch用法及代码示例
- Processing char()用法及代码示例
- Processing ceil()用法及代码示例
- Processing curveVertex()用法及代码示例
- Processing concat()用法及代码示例
- Processing continue用法及代码示例
- Processing color()用法及代码示例
- Processing copy()用法及代码示例
- Processing cos()用法及代码示例
- Processing circle()用法及代码示例
- Processing char用法及代码示例
- Processing color用法及代码示例
- Processing class用法及代码示例
- Processing curve()用法及代码示例
- Processing curveTightness()用法及代码示例
注:本文由纯净天空筛选整理自processing.org大神的英文原创作品 createShape()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。