- Home /
 
EARTH CALLING ANSWER!!!!
I am making a 2d game. I have an object, that I want to move by swiping. But I want to move in the direction of the swipe (not to the swipe).
I have a script but it doesn't work, because I don't know how, in javascript, to calculate the overall direction of a swipe and make my player move in that direction.
What is the best way to move parallel to a swipe's direction in 2D space?
Thanks for any answers!
Take the starting point and ending point of the swipe and make it a vector. Then you can use it to move your object.
To make the vector simply get the differences between each x,y and z and store them in a Vector3.
@fafase: Thanks for the suggestion, this we tried a while ago and for some reason didn't work.
Cheers for the help though!
Answer by MithosAnnar · Apr 06, 2012 at 12:01 PM
We solved it!
Here is the script for anyone who is interested!
 var myTransform : Transform;
 
 var mousePositionStart : Vector3;
 var mousePositionEnd : Vector3;
 
 var direction : Vector3;
 
 var move : boolean = false;
 
 var speed : float = 500;
 
 function Update () {
       
    myTransform.position.z = - 0.5;
          
    rigidbody.velocity = direction * Time.deltaTime * speed;
                
 if (Input.GetMouseButtonDown(0)) {
 
    mousePositionStart = Input.mousePosition;
          
 }
 
 if (Input.GetMouseButtonUp(0)) {
 
    mousePositionEnd = Input.mousePosition;
                
 if (mousePositionEnd.sqrMagnitude >= mousePositionStart.sqrMagnitude || 
     mousePositionEnd.sqrMagnitude <= mousePositionStart.sqrMagnitude) {
                    
    move = true;
                   
 }
 
 if (move == true) {
       
    direction = vector3(mousePositionStart, mousePositionEnd);                                                                                                                                                                                                                                                                                                                         
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
    move = false;
 
 }
 
 }
 
 }
 
 function vector3 (from : Vector3, to : Vector3) {
    
    return (to - from).normalized;  
 
 }
 
               Thank you, unity forum!!
Your answer
 
             Follow this Question
Related Questions
Touch movement not working 1 Answer
4 way direction movement using a Character Controller. 1 Answer
Character rotating to previous rotation 1 Answer
How do I keep my character facing the direction of travel after movement stops? 1 Answer
tranform.TransformDirection not effecting spawned object 2 Answers