Macos 输入。触摸不在OSX上工作
我是Unity的初学者,创建了一个函数,当检测到触摸时,该函数只需设置文本元素的文本,如下所示:Macos 输入。触摸不在OSX上工作,macos,unity3d,Macos,Unity3d,我是Unity的初学者,创建了一个函数,当检测到触摸时,该函数只需设置文本元素的文本,如下所示: // Update is called once per frame void Update () { if (didTap ()) { print ("did tap!"); tapText.text = "TAP!"; } } private bool didTap() { print ("checking didtap"); i
// 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手机)上运行时,它工作得非常好,但当我在运行游戏时在unity编辑器中“单击”时,什么都没有发生。我正在运行OSX 10.12.2。需要配置鼠标模拟触摸事件吗?您可以使用该应用程序将Unity的“播放模式”窗口复制到移动设备上。这将允许您在计算机上运行Unity的同时与手机的功能进行交互 UnityRemote需要在Unity中进行一些设置并下载应用程序。考虑看这个视频:
或者,在中查看Hellium的答案,同时点击鼠标,以便仅根据所使用的设备编译代码。在Unity中,“触摸”输入和“鼠标”输入之间有一个奇怪的区别<代码>输入。在编辑器中运行时,touchCount将始终返回0,但
输入。GetMouseButtonDown(0)
适用于编辑器和移动构建中一个或多个触摸的第一次触摸
您有两个选项可以通过代码解决此问题(另一个选项是):
- 如果您只使用过一次触摸,请使用
和Input.GetMouseButtonDown(0)
Input.GetMouseButtonUp(0)
- 使用
、#if UNITY_IOS
和#if UNITY_ANDROID
标记为您的平台编写单独的输入读取器,然后让它们调用相同的功能#if UNITY_EDITOR