- Home /
Drag Player touch ios
hello, I'm having trouble drag the object to touch, my script works perfectly. so that every time I touch the screen the player moves, I need it to move when I just touch the object. the script he's reading the whole screen .. so how do I move the object when you touch it? not play the entire screen .. only the object?
var speed: float;
function Update () {
if (Input.touches.Length> 0) {
if (Input.touches [0]. == TouchPhase.Moved phase)
{
Input.touches var x = [0]. deltaPosition.x * speed * Time.deltaTime;
Input.touches var y = [0]. deltaPosition.y * speed * Time.deltaTime;
transform.Translate (Vector3 new (x, y, 0));
}
}
}
Answer by Adamcbrz · Apr 08, 2012 at 12:38 AM
Use a Raycast to see if the object hit is your object. If it is then you continue.
http://unity3d.com/support/documentation/ScriptReference/Physics.Raycast.html
Answer by ravindra123 · Nov 23, 2012 at 07:27 AM
Vector3 screenSpace; Vector3 offSet; void Update(){
if(Input.GetMouseButtonDown(0) ) { // arrow .SetActiveRecursively (true); // DragAudio.audio.Play(); screenSpace=Camera.main.WorldToScreenPoint (transform.position); offSet=transform.position-Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenSpace.z)); } if(Input .GetMouseButton(0)) { Vector3 curScreenSpace=new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenSpace.z); Vector3 curPosition=Camera.main.ScreenToWorldPoint(curScreenSpace)+offSet; transform.position=curPosition;}}