Jumping with ridget body and OnEnterTrigger

Hello everyone,

I am making simple 2D platform game. I need some help with my jumping script. Here is my code attached to the Character rigidbody Game Object:

var moveSpeed:float = 0.1;
var jumpSpeed:float = 0.2;
var jumpHeight = 10;
var jumping = false;

function Update () {

	if(Input.GetButton("Right"))
	{
		rigidbody.position += Vector3(moveSpeed, 0, 0);
	}
	
	if(Input.GetButton("Left"))
	{
		rigidbody.position -= Vector3(moveSpeed, 0, 0);
	}
		
	if(Input.GetButton("Jump") && !jumping )
	{
		rigidbody.velocity = Vector3(0,jumpHeight,0);
		jumping = true;
	}
}	
	
function OnTriggerEnter(col:Collider)
{
	if(col.gameObject.tag == "Floor")
	{
		jumping = false;
	}
}

The guy jumps once but then doesn’t want to jump again. Is there anything wrong I am doing with the OnTriggerEnter function? Probably this is just me being stupid:P

I have used this: How do I check when a rigidbody is colliding with the floor? - Questions & Answers - Unity Discussions but I am still having problems.

Thanks for any help.

I assume the problem is that you’re using OnTriggerEnter to register landing, but the collider on the floor is probably not a trigger. So use OnCollisionEnter instead.

function OnCollisionEnter( col : Collision )
{
    if( col.gameObject.CompareTag( "Floor" ) )
        jumping = false;
}