如何在移动设备上使用Unity3d实现多点触控?

2024-04-19

I use OnMouseDown()可以处理按压,但不可能实现多点触控。

该程序包括当您点击时增加然后减少的对象。如果轻轻一按,一切都会正常。但是,当您尝试同时单击多个对象时,它不起作用。

我正在尝试解决该问题,但它不起作用,对象无法缩放并且多点触控不起作用。

Code:

using UnityEngine;
using System.Collections;

public class OnTouch : MonoBehaviour {
public AudioClip crash1;
public AudioClip hat_closed;
public AudioClip hat_open;
public bool c;
public bool c1;
public bool c2;

void OnMouseDown(){

if (this.name == "clash") {
  GetComponent<AudioSource>().PlayOneShot(hat_open);
  c=true;
}
if (this.name == "clash 1") {
  GetComponent<AudioSource>().PlayOneShot(hat_closed);
  c1=true;
}

if (this.name == "clash 2") {
  GetComponent<AudioSource> ().PlayOneShot (crash1);
  c2=true;
}           

transform.localScale += new Vector3(0.05f, 0.05f, 0);

 }

void Update(){          
if (c) {transform.localScale = Vector3.Lerp (this.transform.localScale, new Vector3 (0.2f, 0.2f, 0), Time.deltaTime*10f);}
if (c1) {transform.localScale = Vector3.Lerp (this.transform.localScale, new Vector3 (0.2f, 0.2f, 0), Time.deltaTime*10f);}
if (c2) {transform.localScale = Vector3.Lerp (this.transform.localScale, new Vector3 (0.25f, 0.25f, 0), Time.deltaTime*10f);}
 }
}

您确实不应该将鼠标事件用于触摸设备。 Unity 为您提供了将第一次触摸映射到鼠标事件的便利,但仅此而已。

Unity对触摸设备的支持:
Touch http://docs.unity3d.com/ScriptReference/Touch.html
输入.GetTouch http://docs.unity3d.com/ScriptReference/Input.GetTouch.html
官方视频教程 https://unity3d.com/learn/tutorials/modules/beginner/platform-specific/multitouch-input

为了在您的解决方案中支持多个平台(PC、平板电脑、手机等),您应该研究:
平台相关编译 http://docs.unity3d.com/Manual/PlatformDependentCompilation.html

输入.GetTouch代码示例

public class TouchTest : MonoBehaviour 
{
    void Update () 
    {
        Touch myTouch = Input.GetTouch(0);

        Touch[] myTouches = Input.touches;
        for(int i = 0; i < Input.touchCount; i++)
        {
            //Do something with the touches
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在移动设备上使用Unity3d实现多点触控? 的相关文章

随机推荐

  • 如何列出泽西岛所有注册的 JAX-RS 实体提供商

    假设我有一个带有嵌入式码头的简单球衣应用程序github上的演示项目 https github com varren jersey2 gradle embedded jetty demo repo和下面的基本代码 回到 jersey1 的日
  • Android Studio 在运行测试时不使用 Gradle jvmArgs?

    我有一个带有 JUnit 测试的 Android 库 只有在使用 noverify标志传递给 JVM 我相信是因为this https stackoverflow com a 15122960 1910286 如果从命令行运行测试就会通过
  • 当我有表面声明时,如何为 sm_1X 和 sm_2X 编译 CUDA 程序

    我正在编写一个使用表面 重新采样并写入纹理 来提高性能的库 surface
  • 每行熊猫都会在下周日返回

    在 Pandas for Python 中 我有一个数据集 其中有一列日期时间 我需要创建一个新列 其中每行包含下周日的日期 我尝试过各种方法尝试使用 iterrows 然后计算出一周中的某一天 并添加一天直到该天为 7 但它没有起作用 我
  • GNUPLOT 绘制 5 天的财务周

    我已经寻找了一段时间 以找出如何从财务图中删除一周中的几天 但没有成功 我需要该图仅包含一周中的几天并完全忽略周末 以便财务图表中没有 2 天的差距 我有 CSV 格式的开盘 低 收盘 高数据 并且缺少周末数据 它绘制得很好 但我找不到如何
  • CoroutineScope.async 上的异常传播如何工作?

    我看到多个消息来源声称 async 块内发生的异常不会传递到任何地方 仅存储在Deferred实例 声称该异常仍然是 隐藏的 并且仅在人们调用时影响外部事物await 这通常被描述为之间的主要区别之一launch and async 这是一
  • 创建Flutter项目时出现权限错误

    我是 Flutter 新手 安装后 当我尝试创建项目时出现此错误 hello world flutter create ios language swift android language kotlin Failed to open or
  • 如何在 Javafx 中将文本插入到形状中?

    我使用 JavaFX 创建了一个简单的矩形对象 我希望能够将文本对象放入该矩形内 并使其自动在矩形内保持对齐 我必须绘制矩形的代码是 public static Scene createScene Group root new Group
  • 科尔多瓦应用程序中的输入类型=“文件”替代方案

    我正在开发一个科尔多瓦 Android 应用程序 但是input type file 在那里不起作用 我应该使用哪种替代方法才能在加载文件之前看到提示窗口 None
  • 如何在 C# 中保存电子邮件附件 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何使用 C 从我的邮件 例如 gm
  • React-router-redux 在链接上单击两次即可更新位置状态

    我的应用程序出现问题 无法在任何地方找到解决方案 我用react router redux and syncHistoryWithStore 当我单击导航以使用链接更改路线时 新路线会加载 浏览器中的 URL 会更新 但是location除
  • 有没有更好的方法将多值数据显示为列?

    我的笔记数据库中有 4 个审核字段 它们是多值的 当表单上的某些内容发生更改时 它们都会获得一个新条目 我有一个审核表单 以柱状方式显示这些字段 几乎就像一个视图 这是列的代码
  • 返回响应后如何记录 POST 方法的返回值?

    我正在开发我的第一个 REST API 所以如果我错过了一些基本的东西 请提前道歉 我有一个函数 它从另一台服务器获取 JSON 请求 对其进行处理 根据数据进行预测 然后返回另一个带有结果的 JSON 我想在服务器的本地磁盘上保留对此端点
  • 同时使用 2 个 GPU 调用 cudaMalloc 时性能较差

    我有一个应用程序 可以在用户系统上的 GPU 之间分配处理负载 基本上 每个 GPU 都有一个 CPU 线程来启动一个GPU处理间隔当由主应用程序线程定期触发时 考虑以下图像 使用 NVIDIA 的 CUDA 分析器工具生成 作为示例GPU
  • NSKeyValueObservation:无法从对象中删除关键路径的观察者,因为它未注册为观察者

    我的应用程序中出现随机崩溃 我无法在我拥有的设备上重现 但有例外 无法从 AVPlayerLayer 0xaddress 中删除关键路径 readyForDisplay 的观察者 Foundation NSKeyValueObservati
  • 导入Matplotlib而不显示

    我正在尝试在我的 Linux 服务器上运行 python 脚本并制作并保存一些绘图 我已经安装了ipython and pylab and matplotlib但当我运行我的脚本时 我收到此错误 Traceback most recent
  • 引用 wmp.dll (\windows\system32\wmp.dll)

    我可以在商业应用程序中使用对 wmpLib ddl wmp dll windows system32 wmp dll 的引用吗 我在用Visual Studio 2008 Express http en wikipedia org wiki
  • 具有可选命令行模式的 Cocoa 应用程序

    我即将从头开始一个新的 Cocoa 项目 我已经给出的要求之一是能够从同一个可执行文件中选择 Cocoa GUI 或命令行模式 未来可能会增加脚本能力 但这不是现在的问题 在 Cocoa 中解决这个问题的最佳策略是什么 特别是如果我想维护某
  • Struts2 jQuery 插件 java.lang.ClassNotFoundException: org.apache.struts2.views.TagLibrary

    该问题涉及到Struts v2 3 16 and Struts2 jQuery 插件 v3 6 1 Struts 项目似乎不支持第三方插件 例如 Struts2 jQuery 插件 如何解决以上版本不兼容的问题 这是启动时抛出的异常 13
  • 如何在移动设备上使用Unity3d实现多点触控?

    I use OnMouseDown 可以处理按压 但不可能实现多点触控 该程序包括当您点击时增加然后减少的对象 如果轻轻一按 一切都会正常 但是 当您尝试同时单击多个对象时 它不起作用 我正在尝试解决该问题 但它不起作用 对象无法缩放并且多