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