Skip to Main Content
Killer Game Programming in Java
book

Killer Game Programming in Java

by Andrew Davison
May 2005
Intermediate to advanced content levelIntermediate to advanced
998 pages
26h
English
O'Reilly Media, Inc.
Content preview from Killer Game Programming in Java

Displaying Leaves

An ImagesCsSeries object is a quadrilateral (quad), centered at (0, 0, 0), that can display an image from a series passed to it in an ImageComponent2D array. Only the opaque parts of the image are shown, and the quad is invisible. The quad is a subclass of OrientedShape3D, configured to rotate around the point (0, 0, zCoord) relative to its origin.

The first image in the array is automatically displayed, but then methods must be called to change the picture; there is no default animation.

Tip

A version of ImageCsSeries with animation can be found in FPShooter3D in Chapter 24.

The constructor sets up the rotation point:

    public ImageCsSeries(float zCoord, float screenSize, ImageComponent2D[] ims)
    { this.ims = ims;
      imIndex = 0;
      numImages = ims.length;


      // set the orientation mode
     setAlignmentMode(OrientedShape3D.ROTATE_ABOUT_POINT);
      setRotationPoint(0.0f, 0.0f, zCoord);

      createGeometry(screenSize);
      createAppearance();
    }

A look back at the makeLeaves() method, used by the leaf creation rule, shows that two ImageCsSeries screens are created with different rotation points: one 0.5 units in front of its location and the other 0.5 units behind. This means that the two screens will rotate differently as the user's viewpoint moves around a tree. This creates a much larger mass of leaves that always seems to surround the tree limb, as illustrated by Figure 28-5.

Leaves around each limb

Figure 28-5. Leaves ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Java Game Development with LibGDX: From Beginner to Professional

Java Game Development with LibGDX: From Beginner to Professional

Lee Stemkoski

Publisher Resources

ISBN: 0596007302Supplemental ContentErrata Page