Question by 
               lowrezstudios · Dec 16, 2015 at 04:33 PM · 
                unity 5touch controlsswipe  
              
 
              Moving With Swipe Control
Im trying to move an object with swipe control only of x axis. And it moves forward continuously until we swipe right or left . The code detects the swipe direction perfectly (left or right ) but it doesn't move the object accordingly pls help .
Heres the code I'm using
using UnityEngine; using System.Collections;
public class Player : MonoBehaviour { private float fingerStartTime = 0.0f; private Vector2 fingerStartPos = Vector2.zero;
 private bool isSwipe = false;
 private float minSwipeDist = 50.0f;
 private float maxSwipeTime = 0.5f;
 public int Speed;
 
 private Vector3 dir;
 // Use this for initialization
 void Start () {
     dir = Vector3.zero;
 
 }
 
 // Update is called once per frame
 void Update () {
 if (Input.touchCount > 0 && dir == Vector3.forward) {
 
         foreach (Touch touch in Input.touches) {
             switch (touch.phase) {
             case TouchPhase.Began:
                 isSwipe = true;
                 fingerStartTime = Time.time;
                 fingerStartPos = touch.position;
                 break;
             case TouchPhase.Canceled:
                 isSwipe = false;
                 break;
             case TouchPhase.Ended:
                 float gestureTime = Time.time - fingerStartTime;
                 float gestureDist = (touch.position - fingerStartPos).magnitude;
                 if (isSwipe && gestureTime < maxSwipeTime && gestureDist > minSwipeDist) {
                     Vector2 direction = touch.position - fingerStartPos;
                     Vector2 swipeType = Vector2.zero;
                     if (Mathf.Abs (direction.x) > Mathf.Abs (direction.y)) {
                         swipeType = Vector2.right * Mathf.Sign (direction.x);
                     }
                     if (swipeType.x != 0.0f) {
                         if (swipeType.x > 0.0f) {
                             dir = Vector3.right;
                             Debug.Log ("right");
                         } else {
                             dir = Vector3.left;
                             Debug.Log ("left");
                         }
                     }
                 }
                 break;
             }
         }
     } else {
         dir = Vector3.forward;
     }
     float moveamnt = Speed * Time.deltaTime;
     transform.Translate (dir * moveamnt);
 }
}
               Comment
              
 
               
              Your answer
 
 
             Follow this Question
Related Questions
create action on touch release 1 Answer
i want to move object only when i swipe on screen not when touch, Unity 2d Android 0 Answers
Problem with swipe and Gyro 0 Answers
swiping does not work well while holding button 0 Answers
Vector3.back not working 2 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                