我制作了一个脚本并将其附加到主摄像头,并且在游戏场景的任何位置都没有检测到多点触摸。控制台在每个帧都记录更新,但输入触摸不会记录在任何地方。在if语句中没有运行print语句。任何帮助将不胜感激。
void Update() {
print("update");
if (Input.touchCount > 0){
print("touch detected");
print(Input.touchCount);
print(Input.touchCount.toString());
}
}
答案 0 :(得分:3)
不仅有"触摸"可触摸设备中的单词。触摸动作有多种类型,如单点触控,多点触控,轻扫,捏合等。
首先请删除更新中的打印功能,这是不必要和愚蠢的行为。
对于单次触摸,(如Hamza所述),您可以使用Input.GetMouseButton
或Input.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");
}
}