- Home /
swipe distance detection dont work
hey! i wanna detect the swipe distance in a 3d world. this is my code so far:
using UnityEngine;
using System.Collections;
public class MouseMove2D : MonoBehaviour {
public Vector3 mousePosition;
private Camera Cam;
public LayerMask layers;
public bool isSwipe = false;
public float gestureTime;
public float gestureDist;
private TrailRenderer trail;
public Vector3 startPosition;
public Vector3 currentPosition;
void Start () {
Cam = Camera.main;
trail = GetComponent<TrailRenderer>();
}
void Update () {
RaycastHit hit;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if ( Physics.Raycast (ray,out hit,100.0f, layers)) {
mousePosition = hit.point;
transform.position = hit.point;
}
if (Input.GetMouseButtonDown(0)) {
Debug.Log("GetMouseButtonDown");
gestureDist = 0;
isSwipe = true;
trail.enabled = true;
startPosition = transform.position;
}
if (Input.GetMouseButtonUp(0)) {
Debug.Log("GetMouseButtonUp");
isSwipe = false;
trail.enabled = false;
//startPosition = Vector3.zero;
gestureTime = 0;
gestureDist = 0;
}
if (isSwipe){
currentPosition = transform.position;
gestureTime += Time.deltaTime;
gestureDist = (currentPosition - startPosition).sqrMagnitude;
//gestureDist = Vector3.Distance (currentPosition, startPosition);
}
}
}
so when i am swiping i right at the beginning i think everything is fine, but when i just don't move the mouse/finger and just simply point down, the distance counter goes up and down from 1 to 7 with no clear pattern - anyone a idea what i did wrong?
Answer by avazutaev · Jun 15, 2017 at 05:24 PM
I think, the answer depends on which GameObject your script is attached to, becouse you are using the coordinates of this gameObject:
startPosition = transform.position;
//...
currentPosition = transform.position;
Answer by RobertOne · Jun 16, 2017 at 05:41 AM
Its in a gameobject that gets moved by the current mouse position. So on mouse down i save the start position and on drag the current position. And in between i ask for the distance wich got a bug when i dont drag
Your answer
Follow this Question
Related Questions
Help with swiping for movement 1 Answer
Moving player using cam.ScreenToWorldPoint, with camera smooth following the player 1 Answer
Throw an object via touch/mouse flick 0 Answers
Different resolutions make the swipe of my player go at different speeds on different devices 0 Answers
Drag to move movement like the iPhone messenger game EverWing 1 Answer