anchor.diff:     * Set the horizontal and vertical speed with the same value.
      */
     void set speed(num speed) {
  -    speedX = speed;
  -    speedY = speed;
  +    _speedVector = new StageXL.Vector(speed, speed);
     }
   
     /**
      * Set the horizontal and vertical acceleration with the same value.
      */
     void set acceleration(num acceleration) {
  -    accelerationX = acceleration;
  -    accelerationY = acceleration;
  +    _accelerationVector = new StageXL.Vector(acceleration, acceleration);
     }
   
     /**
  
positive.code: 
      _checkDestination();
  
      speedX += _accelerationDirection * accelerationX * time;
      speedY += _accelerationDirection * accelerationY * time;
  
      x = x +
          (directionSystem.mainDirection.x * speedX +
              _context.game.physics.gravityDirectionSystem.mainDirection.x *
                  _context.game.physics.garvitySpeed) *
              time;
      y = y +
          (directionSystem.mainDirection.y * speedY +
              _context.game.physics.gravityDirectionSystem.mainDirection.y *
                  _context.game.physics.garvitySpeed) *
              time;
  
      return true;
  
    }
  
    /**
  
negative.code:   }
  
    bool _speedOverEqualMaxSpeed() {
      //return (speedX >= maxSpeed || speedY >= maxSpeed);
      return (_speedVector.x >= maxSpeed || _speedVector.y >= maxSpeed);
    }
  
    bool _speedUnderEqualMinSpeed() {
      //return (speedX <= minSpeed || speedY <= minSpeed);
      return (_speedVector.x <= minSpeed || _speedVector.y <= minSpeed);
    }
  
    void _checkSpeedLimits() {
  