perspective(s)


    
    private function doPerspective(ball:animation_ch15_Ball3D):void
    {   
     if(ball.zpos > -fl)
     {
      var scale:Number = fl / (fl + ball.zpos);
      ball.scaleX = ball.scaleY = scale;
      ball.x = vpX + ball.xpos * scale;
      ball.y = vpY + ball.ypos * scale;
      ball.visible = true;
     }
     else
     {
      ball.visible = false;
     }
    }
    
    private function sortZ():void
    {
     balls.sortOn("zpos", Array.DESCENDING | Array.NUMERIC);
     for(var i:uint = 0; i < numBalls; i++)
     {
      var ball:animation_ch15_Ball3D = balls[i];
      setChildIndex(ball, i);
     }
    }
   }
  }