252 lines
9.9 KiB
HTML
252 lines
9.9 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
<head>
|
|
<title>createShape() \ Language (API) \ Processing 2+</title>
|
|
|
|
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<meta name="Author" content="Processing Foundation" />
|
|
<meta name="Publisher" content="Processing Foundation" />
|
|
<meta name="Keywords" content="Processing, Sketchbook, Programming, Coding, Code, Art, Design" />
|
|
<meta name="Description" content="Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology." />
|
|
<meta name="Copyright" content="All contents copyright the Processing Foundation, Ben Fry, Casey Reas, and the MIT Media Laboratory" />
|
|
|
|
<script src="javascript/modernizr-2.6.2.touch.js" type="text/javascript"></script>
|
|
<link href="css/style.css" rel="stylesheet" type="text/css" />
|
|
|
|
</head>
|
|
<body id="Langauge-en" onload="" >
|
|
|
|
<!-- ==================================== PAGE ============================ -->
|
|
<div id="container">
|
|
|
|
|
|
<!-- ==================================== HEADER ============================ -->
|
|
|
|
<div id="ribbon">
|
|
<ul class="left">
|
|
<li class="highlight"><a href="http://processing.org/">Processing</a></li>
|
|
<li><a href="http://p5js.org/">p5.js</a></li>
|
|
<li><a href="http://py.processing.org/">Processing.py</a></li>
|
|
<li><a href="http://android.processing.org/">Processing for Android</a></li>
|
|
</ul>
|
|
<ul class="right">
|
|
<li><a href="https://processingfoundation.org/">Processing Foundation</a></li>
|
|
</ul>
|
|
<div class="clear"></div>
|
|
</div>
|
|
<div id="header">
|
|
<a href="/" title="Back to the Processing cover."><div class="processing-logo no-cover" alt="Processing cover"></div></a>
|
|
<form name="search" method="get" action="//www.google.com/search">
|
|
<p><input type="hidden" name="as_sitesearch" value="processing.org" />
|
|
<input type="text" name="as_q" value="" size="20" class="text" />
|
|
<input type="submit" value=" " /></p>
|
|
</form>
|
|
</div>
|
|
<a id="TOP" name="TOP"></a>
|
|
|
|
<div id="navigation">
|
|
<div class="navBar" id="mainnav">
|
|
<a href="index.html" class='active'>Language</a><br>
|
|
<a href="libraries/index.html" >Libraries</a><br>
|
|
<a href="tools/index.html">Tools</a><br>
|
|
<a href="environment/index.html">Environment</a><br>
|
|
</div>
|
|
|
|
<script> document.querySelectorAll(".processing-logo")[0].className = "processing-logo"; </script>
|
|
</div>
|
|
|
|
<!-- ==================================== CONTENT - Headers ============================ -->
|
|
<div class="content">
|
|
|
|
<p class="ref-notice">This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, <a href="https://github.com/processing/processing-docs/issues?state=open">please let us know</a>. If you prefer a more technical reference, visit the <a href="http://processing.github.io/processing-javadocs/core/">Processing Core Javadoc</a> and <a href="http://processing.github.io/processing-javadocs/libraries/">Libraries Javadoc</a>.</p>
|
|
|
|
<table cellpadding="0" cellspacing="0" border="0" class="ref-item">
|
|
|
|
|
|
<tr class="name-row">
|
|
<th scope="row">Name</th>
|
|
|
|
<td><h3>createShape()</h3></td>
|
|
</tr>
|
|
|
|
<tr class="">
|
|
|
|
<tr class=""><th scope="row">Examples</th><td><div class="example"><pre >
|
|
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);
|
|
}
|
|
</pre></div>
|
|
<hr class="noshade" noshade="noshade" size="1">
|
|
<div class="example"><pre >
|
|
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);
|
|
}
|
|
</pre></div>
|
|
<hr class="noshade" noshade="noshade" size="1">
|
|
<div class="example"><pre >
|
|
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);
|
|
}
|
|
</pre></div>
|
|
<hr class="noshade" noshade="noshade" size="1">
|
|
<div class="example"><pre >
|
|
PShape alien, head, body;
|
|
|
|
void setup() {
|
|
size(100, 100);
|
|
|
|
// Create the shape group
|
|
alien = createShape(GROUP);
|
|
|
|
// Make two shapes
|
|
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
|
|
}
|
|
</pre></div>
|
|
</td></tr>
|
|
|
|
<tr class="">
|
|
<th scope="row">Description</th>
|
|
<td>
|
|
The <b>createShape()</b> function is used to define a new shape. Once created, this shape can be drawn with the <b>shape()</b> function. The basic way to use the function defines new primitive shapes. One of the following parameters are used as the first parameter: <b>ELLIPSE</b>, <b>RECT</b>, <b>ARC</b>, <b>TRIANGLE</b>, <b>SPHERE</b>, <b>BOX</b>, <b>QUAD</b>, or <b>LINE</b>. The parameters for each of these different shapes are the same as their corresponding functions: <b>ellipse()</b>, <b>rect()</b>, <b>arc()</b>, <b>triangle()</b>, <b>sphere()</b>, <b>box()</b>, and <b>line()</b>. The first example above clarifies how this works.<br />
|
|
<br />
|
|
Custom, unique shapes can be made by using <b>createShape()</b> without a parameter. After the shape is started, the drawing attributes and geometry can be set directly to the shape within the <b>beginShape()</b> and <b>endShape()</b> methods. See the second example above for specifics, and the reference for <b>beginShape()</b> for all of its options.<br />
|
|
<br />
|
|
The <b>createShape()</b> function can also be used to make a complex shape made of other shapes. This is called a "group" and it's created by using the parameter <b>GROUP</b> as the first parameter. See the fourth example above to see how it works.<br />
|
|
<br />
|
|
After using <b>createShape()</b>, stroke and fill color can be set by calling methods like <b>setFill()</b> and <b>setStroke()</b>, as seen in the examples above. The complete list of methods and fields for the PShape class are in the <a href="http://processing.github.io/processing-javadocs/core/">Processing Javadoc</a>.
|
|
</td>
|
|
</tr>
|
|
|
|
<tr class=""><th scope="row">Syntax</th><td><pre>createShape()
|
|
createShape(<kbd>type</kbd>)
|
|
createShape(<kbd>kind</kbd>, <kbd>p</kbd>)</pre></td></tr>
|
|
|
|
<tr class=""> <th scope="row">Parameters</th><td><table cellpadding="0" cellspacing="0" border="0"><tr class="">
|
|
<th scope="row" class="code">kind</th>
|
|
<td>int: either POINT, LINE, TRIANGLE, QUAD, RECT, ELLIPSE, ARC, BOX, SPHERE</td>
|
|
</tr>
|
|
<tr class="">
|
|
<th scope="row" class="code">p</th>
|
|
<td>float[]: parameters that match the kind of shape</td>
|
|
</tr></table></td> </tr>
|
|
<tr class=""><th scope="row">Returns</th><td class="code">PShape</td></tr>
|
|
<tr class=""><th scope="row">Related</th><td><a class="code" href="PShape.html">PShape</a><br />
|
|
<a class="code" href="endShape_.html">endShape()</a><br />
|
|
<a class="code" href="loadShape_.html">loadShape()</a><br /></td></tr>
|
|
</table>
|
|
|
|
Updated on April 30, 2017 02:33:17pm EDT<br /><br />
|
|
|
|
<!-- Creative Commons License -->
|
|
|
|
<div class="license">
|
|
<a rel="license" href="//creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Creative Commons License" style="border: none" src="https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png" /></a>
|
|
</div>
|
|
<!--
|
|
|
|
<?xpacket begin='' id=''?>
|
|
<x:xmpmeta xmlns:x='adobe:ns:meta/'>
|
|
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
|
|
<rdf:Description rdf:about=''
|
|
xmlns:xapRights='http://ns.adobe.com/xap/1.0/rights/'>
|
|
<xapRights:Marked>True</xapRights:Marked>
|
|
</rdf:Description>
|
|
<rdf:Description rdf:about=''
|
|
xmlns:xapRights='http://ns.adobe.com/xap/1.0/rights/'
|
|
>
|
|
<xapRights:UsageTerms>
|
|
<rdf:Alt>
|
|
<rdf:li xml:lang='x-default' >This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</rdf:li>
|
|
<rdf:li xml:lang='en' >This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</rdf:li>
|
|
</rdf:Alt>
|
|
</xapRights:UsageTerms>
|
|
</rdf:Description>
|
|
<rdf:Description rdf:about=''
|
|
xmlns:cc='http://creativecommons.org/ns#'>
|
|
<cc:license rdf:resource='http://creativecommons.org/licenses/by-nc-sa/4.0/'/>
|
|
</rdf:Description>
|
|
|
|
</rdf:RDF>
|
|
</x:xmpmeta>
|
|
<?xpacket end='r'?>
|
|
|
|
-->
|
|
|
|
</div>
|
|
|
|
<!-- ==================================== FOOTER ============================ -->
|
|
<div id="footer">
|
|
|
|
<div id="copyright">Processing is an open project intiated by <a href="http://benfry.com/">Ben Fry</a> and <a href="http://reas.com">Casey Reas</a>. It is developed by a <a href="http://processing.org/about/people/">team of volunteers</a>.</div>
|
|
<div id="colophon">
|
|
|
|
<a href="copyright.html">© Info</a>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<script src="javascript/jquery-1.9.1.min.js"></script>
|
|
<script src="javascript/site.js" type="text/javascript"></script>
|
|
</body>
|
|
</html>
|