How to change gameobject while game is running ?

@Parimal …Hello …I am new in unity.I am developing a 2d car game and in my game , when my car is on the ground it is car and I want to replace my car to a rocket while my car is in the air (while jump) so How to do it in C# script.Please help. I am sorry for my bad English.
I tried this:
public void GameObjectHandler()
{
if(gameObject.GetComponent().velocity.y == 0) {
grounded = true;
}

	if (grounded) {
		CarModel.GetComponent<SpriteRenderer>().enabled = true;
		Rocket.GetComponent<SpriteRenderer>().enabled = false;
	} 

	else {
		CarModel.GetComponent<SpriteRenderer>().enabled = false;
		Rocket.GetComponent<SpriteRenderer>().enabled = true;
	}
}

but it does not work.

Hi, you could use the function OnColliderStay, you have to attach the script to the ground, wich needs a collider.


//public or private collider the car sprite, example carC;

OnColliderStay (Collider carC)
{
CarModel.GetComponent().enabled = true;
Rocket.GetComponent().enabled = false;

// I don’t know if this piece of code is correct, (i’m quite new too, and I have never used spriterender)

}

OnColliderExit (Collider CarC) {
CarModel.GetComponent().enabled = false;
Rocket.GetComponent().enabled = true;

}