GameObject doesn't move

Hey guys,

I have a 2D game about landing with a spaceship. My spaceship has rigidbody, but I disabled gravity and I’m moving the ship towards the surface using transform.Translate.
But the problem is, when I land on the ground, I want to move the player to the left. But nothing seems to work and I really don’t have any idea why…

Any help would be appreciated :]

    void Update () {
    		player.transform.Translate(0,-gravityForce + speed,0);	
	//my simulaion of gravity
    
    		if(Input.GetKey(KeyCode.Space)){
    			fuel -= 1f;
    			speed += 0.001f;
    			Instantiate(smoke, smokeEnd.transform.position, smokeEnd.transform.rotation);
    		} else {
    			speed -= 0.001f;
    		}
    		
    		if ((player.transform.position.y < -2f)){              //landed on ground
    			if((speed <= upBoundary)&&(speed >= downBoundary)){	
    				speed = 0;
    				gravityForce = 0;	
    				onGround = true;
    			} else {
    				Crash();
    				onGround = true;
    			}
    		}
    	}
    
    	void FixedUpdate(){
    		if (onGround){
//debug here works fine
    			player.transform.Translate(new Vector3(-2f,0,0));   
    		}
    	}

Make your body Kinematic for creating your own Physics.Since Kinematics will be true , no collision will affect the your player.Use RaycastHit2D for detecting specific platforms and moving over them.

Read the following documentation:

Watch the following video:
http://unity3d.com/learn/tutorials/modules/beginner/physics/raycasting?playlist=17120