public class basicBulletScript : MonoBehaviour
{
private Rigidbody2D rb2d;
public float speed;
float startTime;
float duration;
float firstGravityScale;
public float maxSpeed = 100f; //example number
void Start()
{
rb2d = GetComponent<Rigidbody2D>();
startTime = Time.time;
duration = 0.2f;
}
// Update is called once per frame
void Update()
{
firstGravityScale = rb2d.gravityScale;
}
private void FixedUpdate()
{
if(rb2d.linearVelocityX < maxSpeed)
{
rb2d.AddForce(transform.right * speed);
}
else
{
//clamp or limit somehow????
}
if (rb2d.gravityScale != 0)
{
rb2d.gravityScale = (Mathf.SmoothStep(firstGravityScale, 0, ((Time.time - startTime) / duration)));
}
}
}