private AffineTransform getRotationTransform ( ) { double theta ; switch ( _orient ) { case NORTH : default : theta = 0.0 ; break ; case SOUTH : theta = Math . PI ; break ; case EAST : theta = Math . PI * 0.5 ; break ; case WEST : theta = - Math . PI * 0.5 ; break ; case NORTHEAST : theta = Math . PI * 0.25 ; break ; case NORTHWEST : theta = - Math . PI * 0.25 ; break ; case SOUTHEAST : theta = Math . PI * 0.75 ; break ; case SOUTHWEST : theta = - Math . PI * 0.75 ; break ; case NORTHNORTHEAST : theta = - Math . PI * 0.125 ; break ; case NORTHNORTHWEST : theta = Math . PI * 0.125 ; break ; case SOUTHSOUTHEAST : theta = - Math . PI * 0.875 ; break ; case SOUTHSOUTHWEST : theta = Math . PI * 0.875 ; break ; case EASTNORTHEAST : theta = - Math . PI * 0.375 ; break ; case EASTSOUTHEAST : theta = - Math . PI * 0.625 ; break ; case WESTNORTHWEST : theta = Math . PI * 0.375 ; break ; case WESTSOUTHWEST : theta = Math . PI * 0.625 ; break ; } return AffineTransform . getRotateInstance ( theta , ( _ox - _oxoff ) + _frames . getWidth ( _frameIdx ) / 2 , ( _oy - _oyoff ) + _frames . getHeight ( _frameIdx ) / 2 ) ; }
Computes and returns the rotation transform for this sprite .