Creating the Scene
Figure 19-3 shows all the methods in WrapAnimTour3D
Class.
Figure 19-3. WrapAnimTour3D methods
The Scene-creation Code In WrapAnimTour3D
is almost identical to previous Wrap
classes with the exception of the addTourist()
method. It sets up the sprite, the KeyBehavior
, and Animator
objects, and links them together as shown in the application's class diagram (see Figure 19-2):
private void addTourist() { // sprite AnimSprite3D bob = new AnimSprite3D(); bob.setPosition(2.0, 1.0); sceneBG.addChild( bob.getTG() ); // viewpoint TG ViewingPlatform vp = su.getViewingPlatform(); TransformGroup viewerTG = vp.getViewPlatformTransform(); // sprite's animator Animator animBeh = new Animator(20, bob, viewerTG); animBeh.setSchedulingBounds( bounds ); sceneBG.addChild( animBeh ); // sprite's input keys KeyBehavior kb = new KeyBehavior(animBeh); kb.setSchedulingBounds( bounds ); sceneBG.addChild( kb ); } // end of addTourist()
The AnimSprite3D
object is responsible for loading the multiple models that represent the sprite's various poses. Animator
is in charge of adjusting the user's viewpoint and so is passed the ViewingPlatform
's TransformGroup
node. The Animator
is set to wake up every 20 milliseconds through the first argument of its constructor.
The scene graph for the application
is shown in Figure 19-4. Since there's no alien sprite, scenery, or obstacles, it's simpler than ...
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.