why my ball starts to float in air?

hello friends, i was working on a game tutorial.i want to know why my ball starts to float in air ? i have attached a pc build of the game…so that you can play and see the problem…use numpad 1 to play the game…thanks
here’s my script
unity webplayer build - https://dl.dropboxusercontent.com/u/68898516/WebPlayer.html

var basketball : Rigidbody;
var launchPos : Transform[];

var player1Fire : boolean = false;

var player1 : Transform;
var player2 : Transform;
var player3 : Transform;

var ball1P : Transform;
var ball2P : Transform;
var ball3P : Transform;

var ball1Ready : boolean = true;
var ball2Ready : boolean = true;
var ball3Ready : boolean = true;

var veloY : float;
var veloZ : float;

var ball1;
var ball2;
var ball3;

var newball1;
var newball2;
var newball3;

function Start ()
{
	ball1 = Instantiate(basketball,launchPos[0].position,launchPos[0].rotation);
	ball1.transform.parent = ball1P;
	
	ball2 = Instantiate(basketball,launchPos[1].position,launchPos[1].rotation);
	ball2.transform.parent = ball2P;
	
	ball3 = Instantiate(basketball,launchPos[2].position,launchPos[2].rotation);
	ball3.transform.parent = ball3P;
}

function Update () 
{
	if(Input.GetButtonDown("Player1")  ball1Ready == true)
	{
		player1.animation.Play("Aim"); 
	}

	if(Input.GetButtonUp("Player1")  ball1Ready == true )
	{
		player1.animation.CrossFade("fire");
		ball1.transform.parent = null;
		ball1.rigidbody.velocity = Vector3(0,veloY,veloZ);
		ball1.rigidbody.useGravity = true;
		Destroy(ball1.gameObject,4);
		ball1Ready = false;  
		NewBall1();
	}
}
	
function NewBall1()
{
	yield WaitForSeconds(1);   
	player1.animation.CrossFade("idle");
	newball1 = Instantiate(basketball,launchPos[0].position,launchPos[0].rotation);
	newball1.transform.parent = ball1P;
	

}

regards,
jagz

Did you update your player? I didn’t see anything floating here. I could only throw the ball once though.