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