PROBLEM IN MOVING WITH C #

I DEVELOP GAME LIKE A FLAPPY BIRD.THE PROBLEM IS IN THE MOBILIZATION OF THE BIR AS ESPECIALLY IN JUMP.WHEN I DO THE FIRST JUMP IS GOOD BUT WHEN I DO IT A second and third time ,DISTANCE is high for the first jumP every time on the axis Y. HOW CAN I DETERMINE THE DESTANCE FOR THE 1,2,3 AND 4 JUMP IN THE Y AXIS.
public class movebird : MonoBehaviour {
public float speed =3;
bool Movebird = true;
Vector3 v3;

void Start () {
v3 =new Vector3(0,300,0);
Time.timeScale = 0;

}

// Update is called once per frame
void Update () {
if (Movebird){
transform.Translate(Vector3.rightTime.deltaTimespeed);

if(Input.GetMouseButtonDown(0) ){

Time.timeScale=1;
rigidbody2D.AddForce(v3);
}
}
}
}

First of all you might want to check your caps lock, I think it’s on.

The problem with using rigidbody2D.AddForce is that it adds force to the current velocity, whereas you want the bird to move up at a constant velocity while being affected by gravity.

I’d recommend using:

GetComponent<Transform>().velocity

and setting the vertical velocity, this way it will move upwards at an equal speed every time you click.

Also note that rigidbody2D.AddForce() is obsolete in the latest version of Unity, instead you should use:

GetComponent<Rigidbody2D>().Addforce()