在任何游戏对象上都未检测到多点触控

时间:2016-01-19 05:54:14

标签: unity3d touch multi-touch unity5

我制作了一个脚本并将其附加到主摄像头,并且在游戏场景的任何位置都没有检测到多点触摸。控制台在每个帧都记录更新,但输入触摸不会记录在任何地方。在if语句中没有运行print语句。任何帮助将不胜感激。

void Update() {
        print("update");
        if (Input.touchCount > 0){
            print("touch detected");
            print(Input.touchCount);
            print(Input.touchCount.toString());
    }

}

2 个答案:

答案 0 :(得分:3)

不仅有"触摸"可触摸设备中的单词。触摸动作有多种类型,如单点触控,多点触控,轻扫,捏合等。

首先请删除更新中的打印功能,这是不必要和愚蠢的行为。

对于单次触摸,(如Hamza所述),您可以使用Input.GetMouseButtonInput.GetTouch

如果您想计算多点触控的数量,您的用法是正确的。尝试将脚本附加到场景中的另一个游戏对象。有关Unity官方网页的更多信息,请参阅this示例。

答案 1 :(得分:0)

如果您只需要单击,请使用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");
    }
}