- Home /
Question by
sadowlight123 · Jun 23, 2017 at 06:01 PM ·
touchswipeinput.touch
How to touch anywhere on screen?
Hello all, I had searched how to touch anywhere on screen and found : if(Input.GetMouseButtonDown(0)) { //Do something } I tried it and it worked fine. Then I needed to record a swipe . Followed a tutorial online and got the following script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public enum SwipeDirection
{
None= 0,
Left=1,
Right = 2,
Up = 4,
Down = 8,
}
public class SwipeManager : MonoBehaviour {
private static SwipeManager instance;
public static SwipeManager Instance {get{return instance;}}
public SwipeDirection Direction { set; get; }
private Vector3 TouchPosition;
private float SwipeResistanceX = 50f;
private float SwipeResistanceY = 100f;
// Use this for initialization
void Start () {
instance = this;
}
// Update is called once per frame
void Update () {
Direction = SwipeDirection.None;
if(Input.GetMouseButtonDown(0))
{
TouchPosition = Input.mousePosition;
}
if(Input.GetMouseButtonUp(0))
{
Vector2 DeltaSwipe = TouchPosition - Input.mousePosition;
if(Mathf.Abs(DeltaSwipe.x) > SwipeResistanceX)
{
//x
Direction |= (DeltaSwipe.x < 0) ? SwipeDirection.Right : SwipeDirection.Left;
}
if (Mathf.Abs(DeltaSwipe.y) > SwipeResistanceY)
{
//y
Direction |= (DeltaSwipe.y < 0) ? SwipeDirection.Up: SwipeDirection.Down;
}
}
}
public bool IsSwiping(SwipeDirection dir)
{
return (Direction & dir) == dir;
}
}
And now each time I swipe , it also does the code for the press anywhere my question is what is the right way to implement both? I already thought about delta being 0 for press anywhere but then thought that i couldn't do anything until player decides to get his finger off the screen. Please help Thanks a lot in advance.
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220612124749im_/https://answers.unity.com/themes/thub/images/avi.jpg)