anchor.diff:          _newDirection += rightDirection;
           break;
       }
  -    
  +
       if (_newDirection.length > _MAX_LENGTH_WITH_PRECISION) {
         mainDirection = _newDirection.scaleLength(_MAX_LENGTH_FOR_MAIN_DIRECTION);
       } else {
  
positive.code:    */
    bool advanceTime(num time) {
      if (killOutOfBounds &&
          (x + width <= 0 || x - width >= _context.game.world.width) ||
          (y + height <= 0 || y - height >= _context.game.world.height)) {
        removeFromWorld();
      }
  
      if (checkWorldBounds) {
  
negative.code:   final StageXL.Vector _zeroOneVector = new StageXL.Vector(0, 1);
  
    final StageXL.Vector _oneZeroVector = new StageXL.Vector(1, 0);
  
    static const int _NO_ACCELERATION_DIRECTION = 0;
  
    static const int _SPEED_UP_DIRECTION = 1;
  
    static const int _SLOW_DOWN_DIRECTION = -1;
  
    static const int _MAX_LENGTH_FOR_MAIN_DIRECTION = 1;
  
    static const double _MAX_LENGTH_WITH_PRECISION = 1.001;
  
    /**
  