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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。