- Home /
Question by
fahimalavi · Dec 20, 2016 at 06:14 PM ·
androidtouch controls
Touch flip/slide misses
Hi, I have a game about 20% of time slide or flip to move players in 4 directions misses. I can't understand why touch missing? These two methods are present in touch script that is component of an object present in scene. To check the problem game is present on Google play store
// Swipe direction is called from main script.cs (component of main player.)
public static char getDirection()
{
char return_status = 'n';
if (SwipeScript.direction != 'n') {
return_status= SwipeScript.direction;
SwipeScript.direction ='n';
}
return return_status;
}
// Update is called once per frame
void FixedUpdate () {
if (Input.touchCount > 0){
foreach (Touch touch in Input.touches)
{
switch (touch.phase)
{
case TouchPhase.Began :
/* this is a new touch */
isSwipe = true;
fingerStartTime = Time.time;
fingerStartPos = touch.position;
break;
case TouchPhase.Canceled :
/* The touch is being 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)){
// the swipe is horizontal:
swipeType.x = direction.x;
}else{
// the swipe is vertical:
swipeType.y = direction.y;
}
if(swipeType.x != 0.0f){
if(swipeType.x > 0.0f){
// MOVE RIGHT
SwipeScript.direction ='r';
}else{
// MOVE LEFT
SwipeScript.direction ='l';
}
}
if(swipeType.y != 0.0f ){
if(swipeType.y > 0.0f){
// MOVE UP
SwipeScript.direction ='u';
}else{
// MOVE DOWN
SwipeScript.direction ='d';
}
}
isSwipe = false;
}
break;
}
}
}
}
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220612103122im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Changing Screen Orientation causes touch coordinates being wrong 0 Answers
OnDrag methods not being called on Android in Unity 2018.3.5f1 3 Answers
InputField not triggering on screen keyboard in Android 0 Answers
EventSystem.current.IsPointerOverGameObject(t.fingerId) - Not working on Android builds - Unity 2 Answers
How to drag an object along a path using touch controls in specific areas? 1 Answer