Making and Moving the Figure
The Figure
class carries out three main tasks:
It builds the figure by connecting
Limb
objects. The resulting figure is translated into a Java 3D subgraph.It processes limb-related operations, such as
updateLimb()
calls.It processes figure movement operations, such as
doRotateY()
.
Building the Figure
The construction of the figure starts in Figure()
:
//globals private ArrayList limbs; // Arraylist of Limb objects, indexed by limb number private HashMap limbNames; // holds (limb name, limb number) pairs private TransformGroup figureTG; // the top-level TG for the entire figure public Figure() { yCount = 0; // the figure is on the floor initially t3d = new Transform3D(); // used for repeated calcs toMove = new Transform3D(); toRot = new Transform3D(); limbs = new ArrayList(); limbNames = new HashMap(); // construct the figure from connected Limb objects buildTorso(); buildHead(); buildRightArm(); buildLeftArm(); buildRightLeg(); buildLeftLeg(); printLimbsInfo(); buildFigureGraph(); // convert figure into a Java 3D subgraph } // end of Figure()
The figure's Limb
objects are stored in the limbs ArrayList
. Each Limb
object has a unique ID (its limb number), which is used as its index position in the ArrayList
.
The other important data structure is the limbNames HashMap
. The HashMap
stores (limb name, limb number) pairs, with the name being the key and the limb number the value. At runtime, the HashMap
is employed to determine a limb's number when a name is supplied ...
Get Killer Game Programming in Java now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.