protected virtual void FixedUpdate() { var currentPoint = (Vector2)transform.position; var vector = targetPoint - currentPoint; if (vector.magnitude <= MinimumDistance) { ChangeTargetPoint(); vector = targetPoint - currentPoint; } // Limit target speed if (vector.magnitude > MaximumSpeed) { vector = vector.normalized * MaximumSpeed; } // Acceleration if (body == null) { body = GetComponent <Rigidbody2D>(); } body.velocity = D2dHelper.Dampen2(body.velocity, vector * SpeedBoost, Acceleration, Time.deltaTime); }
protected virtual void Update() { var h = Input.GetAxisRaw("Horizontal"); var v = Input.GetAxisRaw("Vertical"); velocity.x += h * Acceleration * Time.deltaTime; velocity.y += v * Acceleration * Time.deltaTime; velocity = D2dHelper.Dampen2(velocity, Vector2.zero, Dampening, Time.deltaTime); transform.Translate(velocity); }