- Home /
The question is answered, right answer was accepted
Processes two touches instead of one
Don't know what to do. I place double tap only once, but Unity thinks that it were twice. P.S. Not only with double tapping, but i tried test script which telling me about touches, it shows me the same situation - two touches instead of one. And if it is important, the ID's of touches are the same, at example I create object by tap anywhere on the screen (standart script), but it creates two and the ID's of touches are the same. Help ma please. And the script: using UnityEngine; using System.Collections; using UnityEngine.UI;
public class FBSJ : MonoBehaviour {
private bool ShowPowerSlider = false;
public Slider slider;
public float PowerSliderValue = 0F;
void Start(){
}
void Update () {
int nbTouches = Input.touchCount;
if(nbTouches > 0)
{
for (int i = 0; i < nbTouches; i++)
{
Touch touch = Input.GetTouch(i);
if(touch.phase == TouchPhase.Began)
{
if(touch.tapCount == 2 && !ShowPowerSlider)
{
Debug.Log("1");
ShowPowerSlider = true;
PowerSetMode();
}
else if(touch.tapCount == 2 && ShowPowerSlider){
Debug.Log ("2");
ShowPowerSlider = false;
PowerSetMode();
}
}
}
}
if (ShowPowerSlider) {
PowerSliderValue = slider.value;
Debug.Log (PowerSliderValue);
}
}
void PowerSetMode(){
if (ShowPowerSlider) {
Debug.Log ("true");
}
if (!ShowPowerSlider) {
Debug.Log ("false");
}
}
}
The code you showed attempts to process multiple concurrent touches at a time, like you would if you were using two fingers to zoom. However the functionality you describe (double tap) is two serial touches that happen at different times (and updates).
Follow this Question
Related Questions
Touch and release type of controll in Unity (Android). How to make it? 0 Answers
Build an text editor in unity 3d 0 Answers
How can i use touch input on android 2d game in unity? 0 Answers
Android Screen.width/height giving weird results (212,377)? 0 Answers
Android detects 2 finger touch but not 1 finger touch 1 Answer