|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jbox2d.testbed.AbstractExample
org.jbox2d.testbed.tests.ShapeDrawing
public class ShapeDrawing
An example of Crayon Physics-style shape creation.
This is a simple method of allowing user input to
guide shape creation. Rather than trying to decompose
the user-created polygon into a shape usable by JBox2d,
we create each segment of the stroke as an individual
shape, and finalize the shape when the "crayon" is
lifted.
This method is inefficient, and each segment of stroke
must be fairly large to avoid angering the engine, but
it is very robust against weird user input, which makes
it much easier to implement.
| Field Summary |
|---|
| Fields inherited from class org.jbox2d.testbed.AbstractExample |
|---|
black, blue, bombSpawning, bombSpawnPoint, boundImages, cachedCamScale, cachedCamX, cachedCamY, gray, green, hasCachedCamera, instructionString, keyDown, m_bomb, m_boundaryListener, m_contactListener, m_debugDraw, m_destructionListener, m_mouseJoint, m_pointCount, m_points, m_textLine, m_world, m_worldAABB, memFree, mouseScreen, mouseWorld, needsReset, newKeyDown, parent, pmousePressed, pmouseScreen, red, settings, textLineHeight, white |
| Constructor Summary | |
|---|---|
ShapeDrawing(TestbedMain _parent)
|
|
| Method Summary | |
|---|---|
void |
addStrokeSegment()
|
void |
beginMouseStroke()
|
void |
create()
Create the world geometry for each test. |
void |
createStrokeRect(Vec2 start,
Vec2 end,
float radius,
Body body,
PolygonDef sd)
|
void |
finalizeStroke()
|
java.lang.String |
getExampleInstructions()
Returns a string containing example instructions. |
java.lang.String |
getName()
|
void |
mouseDown(Vec2 p)
Handle mouseDown events. |
void |
mouseMove(Vec2 p)
Handle mouseMove events (TestbedMain also sends mouseDragged events here) |
void |
mouseUp()
Handle mouseUp events. |
void |
preStep()
Stub for overloading in examples - called before physics step. |
| Methods inherited from class org.jbox2d.testbed.AbstractExample |
|---|
bindImage, boundaryViolated, completeBombSpawn, createWorld, initialize, jointDestroyed, keyPressed, keyReleased, launchBomb, launchBomb, postStep, printInstructions, setCamera, spawnBomb, step |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public ShapeDrawing(TestbedMain _parent)
| Method Detail |
|---|
public void create()
AbstractExample
create in class AbstractExamplepublic void preStep()
AbstractExample
preStep in class AbstractExamplepublic void beginMouseStroke()
public void addStrokeSegment()
public void finalizeStroke()
public void createStrokeRect(Vec2 start,
Vec2 end,
float radius,
Body body,
PolygonDef sd)
public void mouseDown(Vec2 p)
AbstractExample
mouseDown in class AbstractExamplep - The screen location that the mouse is down at.public void mouseUp()
AbstractExample
mouseUp in class AbstractExamplepublic void mouseMove(Vec2 p)
AbstractExample
mouseMove in class AbstractExamplep - The new mouse location (screen coordinates)public java.lang.String getName()
getName in class AbstractExamplepublic java.lang.String getExampleInstructions()
AbstractExample
getExampleInstructions in class AbstractExample
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||