public void setTheStage ( ) {
|
| |
doInOrder { |
| |
// Align objects to the world |
| // Note: The ground, the parking meter, and the skater |
| // are invisible at startup |
| ground .setPointOfView( world ); duration = 0 seconds |
| parkingMeter .setPointOfView( world ); duration = 0 seconds |
| iceSkater .setPointOfView( world ); duration = 0 seconds |
| // Set the camera to a known viewpoint |
| camera .setPointOfView( ground ); duration = 0 seconds |
| camera .turn( RIGHT , 135/360 revolutions ); duration = 0 seconds |
| camera .moveAwayFrom( target = parkingMeter , amount = 10 meters ); duration = 0 seconds |
| camera .move( UP , 1.5 meters ); duration = 0 seconds |
| // Set skater to her starting viewpoint |
| iceSkater .turn( RIGHT , 0.25 revolutions ); duration = 0 seconds |
| iceSkater .moveAwayFrom( target = parkingMeter , amount = 2 meters ); duration = 0 seconds |
| // Cause the ground, the parking meter, and |
| // the skater to become visible |
| ground .set( opacity , 1 (100%) ); duration = 0 seconds |
| parkingMeter .set( opacity , 1 (100%) ); duration = 1 second |
| iceSkater .set( opacity , 1 (100%) ); duration = 2 seconds |
| } |
| } |
public void playTheShow ( ) {
|
| |
doInOrder { |
| |
// Animate the skater's leg and foot |
| doTogether { |
| |
iceSkater.leftLeg.lowerLeg .turn( FORWARD , 0.25 revolutions ); |
| iceSkater.leftLeg.lowerLeg.foot .turn( FORWARD , 0.12 revolutions ); |
| } |
| wait( 1 second ); |
| doTogether { |
| |
iceSkater.leftLeg.lowerLeg.foot .turn( BACKWARD , 0.12 revolutions ); |
| iceSkater.leftLeg.lowerLeg .turn( BACKWARD , 0.25 revolutions ); |
| } |
| } |
| } |