Processing 2. Креативное программирование
.pdf
Processing
Java, File | New | Java Project.Project Name. MyLib. , Eclipse. Finish .
MyLib Import. ImportArchive File General Next.
260
11
Browse -
.zip. Finish .
261
Processing
Processing core.jar. Windowslib Processing. MacProcessing, , - .Processing,Show Package Contents. core.jar Contents | Resources | Java. . ;Processing .
workspace Eclipse libs. -core.jar. workspace , :
262
11
core.jar.MyLib Properties. Java Build PathLibraries , , .
Add External JARs core.jar / workspace/libs.Open .
resources Package Explorerbuild.properties ., -. ProcessingEclipse, .sketchbook.location, classpath.local.location, classpath. local.include classpath.libraries.location.MyLib. (4) .
project.name=MyLib
(5) build.properties.: , - .
263
Processing
, . . , : , .Window | Show View | Ant. Ant .build.xml resources Ant.ProcessingLibs, , , -, .ProcessingLibs play Ant.
, . BUILD SUCCESSFUL. : BUILD FAILED, - , .
264
11
, ., - ; .Eclipse ,*.jar. . - , .
Package Explorer, ., .:
fsrc Java.
fJRE System Library Java Runtime Environment,.
fReferenced Libraries Processing - core.jar,.
fdata , , .
fdistribution , , .
fexamples . , , .
flib .jar , .
fresources .build.properties build.xml. stylesheet.css
JavaDoc. Java.
fweb html. -(5) build. properties.
, MyLib..
Processing
, , -Java. . , , .
265
Processing
Processing, ., Processing Eclipse.
src Package Explorer Eclipse. , .src File | New | Class Java.package URL . -Processing. Name MyLib, ,. ,Finish.
, , Eclipse - :
package be.vormplus; public class MyLib {
}
266
11
Processing Java,PApplet String .,Processing.Processing, . PConstants, Processing. :
package be.vormplus;
import processing.core.*;
public class MyLib implements PConstants { PApplet p;
public final static String VERSION = "##library.prettyVersion##";
public MyLib( PApplet _p )
{
p = _p;
}
}
,. :
public void drawHexagon( float radius )
{
p.beginShape();
for ( int i = 0; i < 6; i++ ) {
float x = p.cos( i * THIRD_PI ) * radius; float y = p.sin( i * THIRD_PI ) * radius; p.vertex( x, y );
}
p.endShape( CLOSE );
}
public void drawStar( float radius )
{
float angle = PI / 5;
p.beginShape();
for ( int i = 0; i < 10; i++ ) {
float x, y;
if ( i % 2 == 0 ) {
x = p.cos( i * angle ) * radius; y = p.sin( i * angle ) * radius;
}else {
x = p.cos( i * angle ) * radius/2;
267
Processing
y = p.sin( i * angle ) * radius/2;
}
p.vertex( x, y );
}
p.endShape( CLOSE );
}
. play Ant, , . , -BUILD SUCCESSFUL. , BUILD SUCCESSFUL, . , . Eclipse , -. Eclipselibraries . Processing, ,MyLib, PDE:
import be.vormplus.*;
MyLib m;
void setup()
{
size( 640, 480 ); smooth();
m = new MyLib( this );
}
void draw()
{
background( 0 );
fill( 255, 255, 0 ); noStroke();
translate( 200, 240 ); m.drawHexagon( 100 );
translate( 240, 0 ); m.drawStar( 100 );
}
268
11
, , :
Processing. - -Processing. PConstants.Processing., PI,
THIRD_PI CLOSE.
MyLib, m = new MyLib( this ); setup(). this - PApplet. , .PApplet (_p) PApplet (p).
public MyLib( PApplet _p )
{
p = _p;
}
Processing,PApplet. , vertex( x, y ); p.vertex( x, y );.
269
