【发布时间】:2020-06-07 08:43:43
【问题描述】:
如何检测 Android 统一按钮上的触摸和长触摸? 我已经尝试过这个功能,但如果我触摸屏幕上的任何地方,它都会返回 true:
bool checkTouch()
{
for(int i = 0; i < Input.touchCount; i++)
{
TouchPhase tp = Input.GetTouch(i).phase;
if(tp == TouchPhase.Began || tp == TouchPhase.Ended || tp == TouchPhase.Stationary)
return true;
}
return false;
}
【问题讨论】:
-
if(tp == TouchPhase.Began || tp == TouchPhase.Ended || tp == TouchPhase.Stationary) 在这里。只需将您的逻辑置于不同的状态即可。如果您想要按钮而不是使用 UnityEngine.UI 在其中添加 GUI 画布和按钮。不需要脚本,只需按按钮运行
-
你在哪里打电话给 checkTouch?
-
@Lotan 在附加到按钮 gameobgect 的脚本中
-
按钮默认使用点击和输入触摸。检查一下,如果你添加一个监听器,比如 myButtonGameObject.GetComponent
-
@Lotan 我需要注册长触摸,而不仅仅是点击