How make player move in the air until they hit the ground?

Hello guys, i am making a platformer game where the player moves and jumps. Now, my issue is that I want the player to move in the direction they press when in the air( When Boolean grounded == false) and remain moving in that direction until they hit the ground at which point they resume control of ground controls. i tried loops but they only make the Unity Editor crash. My movement script snippet is as follows:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
if(grounded == true)
{
if(Input.GetAxis(“move”) > 0)
{
transform.Translate(0,0,speed * Time.deltaTime);
transform.localScale = Vector3(1,1,1);
}
}
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
So my request is to get help on making code that will be executed when Grounded == false && when the user presses a key to move left or right.
Thanks in advance :slight_smile:

@Timothy-Morales
Here is my code :D. Maybe you could make use of it.

    public float jumpForce = 100;
    public float speed = 10;
    public KeyCode key = KeyCode.Space;
    bool grounded;
    bool canDoubleJump;
    Rigidbody2D rb;

    private void Start()
    {
        rb = GetComponent<Rigidbody2D>();
    }

    private void Update()
    {
        float moveHorizontal = Input.GetAxis("Horizontal");

        //Store the current vertical input in the float moveVertical.
        float moveVertical = Input.GetAxis("Vertical");

        //Use the two store floats to create a new Vector2 variable movement.
        Vector2 movement = new Vector2(moveHorizontal, moveVertical);

        //Call the AddForce function of our Rigidbody2D rb2d supplying movement multiplied by speed to move our player.
        rb.AddForce(movement * speed);

        if (Input.GetKeyDown(key))
        {
            if (grounded)
            {
                rb.velocity = new Vector2(rb.velocity.x, 0);
                rb.AddForce(new Vector2(0, jumpForce));
                canDoubleJump = true;
                Debug.Log("Jump1: Working!");
            }

            else
            {
                if (canDoubleJump)
                {
                    canDoubleJump = false;
                    rb.velocity = new Vector2(rb.velocity.x, 0);
                    rb.AddForce(new Vector2(0, jumpForce));
                    Debug.Log("Jump2: Working!");
                }
            }
        }
    }

    private void OnCollisionEnter2D(Collision2D other)
    {
        if (other.transform.tag == "Floor")
        {
            grounded = true;
        }
    }

    private void OnCollisionExit2D(Collision2D other)
    {
        if (other.transform.tag == "Floor")
        {
            grounded = false;
        }
    }

Thanks @KittenSnipes.I will study your code and see what i can come up with. Thumbs up dude :slight_smile: