未在任何游戏对象上检测到多点触控
Multi-Touch not detected on any gameobject
我制作了一个脚本并将其附加到主摄像头,但在游戏场景的任何地方都没有检测到多点触控。控制台在每一帧记录更新,但不记录输入触摸 anywhere.None 打印语句在 if 语句中运行。任何帮助将不胜感激。
void Update() {
print("update");
if (Input.touchCount > 0){
print("touch detected");
print(Input.touchCount);
print(Input.touchCount.toString());
}
}
如果您只需要单点触控,则使用 Input.GetMouseButtonDown
。这将适用于所有平台。编辑器或设备。
您可以将其用作,
void Update()
{
if (Input.GetMouseButtonDown(0))
{
Debug.Log("Screen touch detected");
}
if (Input.GetMouseButton(0))
{
Debug.Log("Screen touch and drag detected");
}
if (Input.GetMouseButtonUp(0))
{
Debug.Log("Screen touch lifted up");
}
}
可触摸设备中不仅有一个"touch"字。有多种类型的触摸操作,例如单击、multi-touch、滑动、捏合等。
首先请删除更新中的打印功能,这是不必要的愚蠢行为。
对于单点触摸,(如Hamza所说)您可以使用Input.GetMouseButton
或Input.GetTouch
。
如果你想计算multi-touch的次数,你的用法是正确的。尝试将脚本附加到场景中的另一个游戏对象。有关更多信息,请参见 Unity 官方页面上的 this 示例。
我制作了一个脚本并将其附加到主摄像头,但在游戏场景的任何地方都没有检测到多点触控。控制台在每一帧记录更新,但不记录输入触摸 anywhere.None 打印语句在 if 语句中运行。任何帮助将不胜感激。
void Update() {
print("update");
if (Input.touchCount > 0){
print("touch detected");
print(Input.touchCount);
print(Input.touchCount.toString());
}
}
如果您只需要单点触控,则使用 Input.GetMouseButtonDown
。这将适用于所有平台。编辑器或设备。
您可以将其用作,
void Update()
{
if (Input.GetMouseButtonDown(0))
{
Debug.Log("Screen touch detected");
}
if (Input.GetMouseButton(0))
{
Debug.Log("Screen touch and drag detected");
}
if (Input.GetMouseButtonUp(0))
{
Debug.Log("Screen touch lifted up");
}
}
可触摸设备中不仅有一个"touch"字。有多种类型的触摸操作,例如单击、multi-touch、滑动、捏合等。
首先请删除更新中的打印功能,这是不必要的愚蠢行为。
对于单点触摸,(如Hamza所说)您可以使用Input.GetMouseButton
或Input.GetTouch
。
如果你想计算multi-touch的次数,你的用法是正确的。尝试将脚本附加到场景中的另一个游戏对象。有关更多信息,请参见 Unity 官方页面上的 this 示例。