|
||||||||||
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()
|
String |
getExampleInstructions()
Returns a string containing example instructions. |
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 AbstractExample
public void preStep()
AbstractExample
preStep
in class AbstractExample
public 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 AbstractExample
p
- The screen location that the mouse is down at.public void mouseUp()
AbstractExample
mouseUp
in class AbstractExample
public void mouseMove(Vec2 p)
AbstractExample
mouseMove
in class AbstractExample
p
- The new mouse location (screen coordinates)public String getName()
getName
in class AbstractExample
public String getExampleInstructions()
AbstractExample
getExampleInstructions
in class AbstractExample
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |