Controlling the Sprite


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 the scene graph in Chapter 18.



Killer Game Programming in Java
Killer Game Programming in Java
ISBN: 0596007302
EAN: 2147483647
Year: 2006
Pages: 340

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net