Draging an object using touch {Question with a script}

Hello , I have converted this script from c# to java

var  MovableObjectTag = "disk" ;	//Disk // was a string

var  _disk : Transform; //
var  _currentState; // was a string


	
function Start () 
{
		var _myTransform = transform;
}

/*
function OnGUI()
{
		GUI.Label(new Rect(10, 10, 100, 30), _currentState);
}
*/

function FixedUpdate()
{
		var  _myTransform : Transform;
		var  _ray : Ray;
		var  _hit : RaycastHit;
		var  _rightObject ; // was bool type
		var  _initialPos : Vector3;
		var  screenPos : Vector3;
		var  offset : Vector3;
		var  currentScreenPos : Vector3;
		var  currentPos : Vector3;
		var  F1 : Vector3;
		var  F2 : Vector3;
		var  M: Vector3;
		var destination;
		
		if (iPhoneInput.touchCount == 1)
		{

            var firstTouch : Touch = Input.GetTouch(0);
            var ray : Ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position);
            var hit : RaycastHit;

            if (Physics.Raycast (ray, hit, 200)) 
			{
                if(hit.collider.tag == MovableObjectTag)
				{
                    if (firstTouch.phase == TouchPhase.Began) 
					{
						_currentState = "Touch's began";						
                        screenPos = Camera.main.WorldToScreenPoint(_myTransform.position);
                        offset = _myTransform.position - Camera.main.ScreenToWorldPoint(Vector3(firstTouch.position.x,firstTouch.position.y,screenPos.z));   
						transform.position.z = 0;
					}
					else if(firstTouch.phase == TouchPhase.Moved)
					{
						_currentState = "Touch's Moved";
						
                        currentScreenPos = Vector3(firstTouch.position.x, firstTouch.position.y, screenPos.y); // firstTouch.position.y
                        currentPos = Camera.main.ScreenToWorldPoint(currentScreenPos) + offset;
                        transform.position = currentPos;
                        transform.position.z = 0;

                	}
					else if(firstTouch.phase == TouchPhase.Ended)
					{
						_currentState = "Touch's Ended";
/*
						//rigidbody.isKinematic = false;
						
						F1 = Vector3(1.8,0.0,0.3);
						F2 = Vector3(-1.8,0.0,0.3);
						M =  Vector3(transform.position.x,transform.position.y,transform.position.z);
						destination = (((F1 - M).normalized + (F2 - M).normalized).normalized);
						var clone : Rigidbody;
						clone = Instantiate(_disk, transform.position, transform.rotation) as Rigidbody;
					    //clone.velocity = transform.TransformDirection(new Vector3(0,0,0));
						clone.position = Vector3.MoveTowards(rigidbody.position,destination,Time.deltaTime);
						transform.position.z = 0;

*/

						
					}
            	}   
        	}       
   	 	}
	}

why it moves the object into the wrong axis??

x y

instead of x z

please help

This code looks like it is always setting the z axis to 0. It isn’t changing the z axis anywhere. The Touch input code only works in the 2D space (x,y) because your touch screen is only 2D. I’m not sure how you are wanting the z axis to be changed by dragging your finger in the x and y space, perhaps you can provide some more info about what you are trying to do. Either way, you need to change the value of z axis as you drag in this code if you want the z axis values to move.