实现 C# Android 触摸输入阻力或超时 - Unity
Implementing C# Android Touch Input Resistance or Timeout - Unity
美好的一天,
我正在尝试制作一个点击游戏,但是,一次触摸产生的输出量是连续的。
如何每次点击输出一个而不是...100?
if (Input.touchCount == 1 && idle == true)
{
p = true;
pSound.Play();
Debug.Log("Tap");
}
else if (Input.touchCount == 0)
{
p = false;
}
这不是 Input.touchCount
的目的。 Touch.tapCount
是用来检测敲击的。您需要从 Input.touches
获取所有触摸,然后将其作为数组保存到 Touch
结构。然后循环遍历每个触摸并检查哪个触摸结束了 event
被调用。在那里你可以检查 Touch.tapCount
.
void Update()
{
Touch[] touchScreen = Input.touches;
int touchScreenSize = touchScreen.Length;
for (int i = 0; i < touchScreenSize; i++)
{
if (touchScreen[i].phase == TouchPhase.Ended)
{
if (touchScreen[i].tapCount == 1)
{
pSound.Play();
Debug.Log("Tap");
}
else if (touchScreen[i].tapCount == 0)
{
}
}
}
}
美好的一天,
我正在尝试制作一个点击游戏,但是,一次触摸产生的输出量是连续的。
如何每次点击输出一个而不是...100?
if (Input.touchCount == 1 && idle == true)
{
p = true;
pSound.Play();
Debug.Log("Tap");
}
else if (Input.touchCount == 0)
{
p = false;
}
这不是 Input.touchCount
的目的。 Touch.tapCount
是用来检测敲击的。您需要从 Input.touches
获取所有触摸,然后将其作为数组保存到 Touch
结构。然后循环遍历每个触摸并检查哪个触摸结束了 event
被调用。在那里你可以检查 Touch.tapCount
.
void Update()
{
Touch[] touchScreen = Input.touches;
int touchScreenSize = touchScreen.Length;
for (int i = 0; i < touchScreenSize; i++)
{
if (touchScreen[i].phase == TouchPhase.Ended)
{
if (touchScreen[i].tapCount == 1)
{
pSound.Play();
Debug.Log("Tap");
}
else if (touchScreen[i].tapCount == 0)
{
}
}
}
}