code: function (target, axis, damping) {
              if (target instanceof me.Renderable) {
                  this.target = target.pos;
              }
              else if ((target instanceof me.Vector2d) || (target instanceof me.Vector3d))  {
                  this.target = target;
              }
              else {
                  throw new Error("invalid target for me.Camera2d.follow");
              }
              // if axis is null, camera is moved on target center
              this.follow_axis = (
                  typeof(axis) === "undefined" ? this.AXIS.BOTH : axis
              );
  
              this.smoothFollow = false;
  
              if (typeof damping !== "number") {
                  this.damping = 1;
              } else {
                  this.damping = me.Math.clamp(damping, 0.0, 1.0);
              }
  
              // force a camera update
              this.updateTarget();
  
              this.smoothFollow = true;
          }
docs: set the camera to follow the specified renderable. <br>
  (this will put the camera center around the given target)
  @name follow
  @memberOf me.Camera2d
  @function
  @param {me.Renderable|me.Vector2d} target renderable or position vector to follow
  @param {me.Camera2d.AXIS} [axis=this.AXIS.BOTH] Which axis to follow
  @param {Number} [damping=1] default damping value
  @example
  // set the camera to follow this renderable on both axis, and enable damping
  me.game.viewport.follow(this, me.game.viewport.AXIS.BOTH, 0.1);