我是Unity的初学者,并创建了一个函数,只需在检测到触摸时设置文本元素的文本:
// Update is called once per frame
void Update () {
if (didTap ()) {
print ("did tap!");
tapText.text = "TAP!";
}
}
private bool didTap() {
print ("checking didtap");
if (Input.touchCount > 0) {
Touch initialTouch = Input.GetTouch (0);
return initialTouch.phase == TouchPhase.Began;
}
return false;
}
当我在实际设备(Android手机)上运行时,它运行得很好,但是当我在运行游戏时在统一编辑器中“点击”时没有任何反应。我正在运行OSX 10.12.2。我需要配置什么来让鼠标模仿触摸事件?
答案 0 :(得分:1)
您可以使用UnityRemote应用将Unity的播放模式窗口复制到移动设备上。这将允许您与手机的功能进行交互,同时仍在计算机上运行Unity。
UnityRemote需要在Unity中进行一些设置以及下载应用程序。请考虑观看此视频:Unity Remote Setup Tutorial
或者,请参阅this question中的Hellium的答案,并结合鼠标点击,仅根据所使用的设备编译代码。
答案 1 :(得分:0)
" touch"之间有一个奇怪的区别。输入和"鼠标"在Unity中输入。当您在编辑器中运行时,Input.touchCount
将始终返回0,但Input.GetMouseButtonDown(0)
适用于编辑器,在移动版本中首次触摸一个或多个触摸
您有两种方法可以通过代码解决此问题(您的另一个选项是the remote ryemoss mentioned):
Input.GetMouseButtonDown(0)
和Input.GetMouseButtonUp(0)
。#if UNITY_IOS
,#if UNITY_ANDROID
和#if UNITY_EDITOR
标记为您的平台编写单独的输入阅读器,然后让它们全部调用相同的功能。