博客
关于我
[Unity踩坑记录] 在电脑上开发并调试触摸相关事件
阅读量:499 次
发布时间:2019-03-07

本文共 1186 字,大约阅读时间需要 3 分钟。

触摸操作在iPad上的开发及优化总结

在做iPad上的触摸操作开发过程中,我们遇到了一些在电脑上测试没有问题,但在实际运行中会出现的问题。经过查阅资料和经验总结,以下是问题分析及解决方案:

问题分析

在开发过程中,发现以下几点问题较为突出:

  • 触摸事件的输入API限制:Unity中使用Input.GetTouch来接收触摸事件的方式有其局限性,无法通过鼠标点击来触发该接口。

  • 触摸与鼠标事件的相互独立性:虽然在Unity中触摸事件可以触发鼠标相关的事件,但反之也是不成立的。这种双向不受控的特性在实际开发中带来了不少麻烦。

  • 触摸手指位置的误判问题:当手指脱离屏幕后,Input.GetAxis("Mouse X")Input.GetAxis("Mouse Y")会持续输出基于当前鼠标位置的坐标值。这种情况下,旋转屏幕或手指移动会导致不连续性,造成不预期的操作过渡效果。

  • 问题产生的主要原因

    结合上述问题,我们发现其主要原因是触摸手指与鼠标输入方式在逻辑上具有根本性差异。具体表现为:

  • 触摸手指的可脱离性:触摸操作的本质是手指可以在任何时候从屏幕上脱离,这与鼠标的按下按住的特性存在本质区别。

  • 坐标更新机制的不一致性:触摸手指的位置变化和鼠标的坐标更新存在差异。一旦手指脱离屏幕,下一次触摸会基于撤销上一次坐标的位置进行相对计算,这种算法容易导致不连贯的跳跃效果。

  • 解决方案

    针对上述问题,我们在开发过程中采取了以下几个策略:

  • 触摸事件优化:尽量减少使用Input.GetAxis("Mouse"),而是通过自定义触摸事件与手指坐标参数进行操作。这样可以避免因坐标误差或更新机制问题带来的意外效果。

  • 手指状态监控:在处理触摸时,监控手指的进入和退出屏幕状态。这可以通过检测触摸手指的位置相对于屏幕边缘的组合 COPYING),或者通过持续监测触摸手势的状态来实现。

  • 自定义触摸判断逻辑:根据具体应用需求,进行自定义判断逻辑。例如,在手指自然离开屏幕时,可以设置一个重置点或等待点,以避免不需要的触摸反馈。

  • 摇晃处理优化:针对旋转屏幕时的触摸问题,通过检测屏幕旋转角度,并根据设置进行适应性调整。通常可以通过调整触摸点的动态范围或启用防抖动算法来解决这一问题。

  • 实践经验

    经过上述优化教学和实际应用,效果明显:

  • 触摸事件的连贯性和准确性得到显著提升。

  • 在开发过程中的调试难度大幅降低,特别是在处理触摸动作时可以更加直观地预测操作效果。

  • 应用适配性更强,能够更好地应对不同设备和操作环境下的差异化需求。

  • 总结

    触摸操作的开发需要充分考虑其本质特性,不同于鼠标输入,其同时支持和支持脱离屏幕的特性决定了开发中的特殊难点。通过深入理解触摸事件机制的特点,并结合具体应用需求,有助于找到更适合的解决方案。这不仅有助于直接解决开发中的技术难点,也有助于提升应用的整体性能和用户体验。

    转载地址:http://wvacz.baihongyu.com/

    你可能感兴趣的文章
    NIS服务器的配置过程
    查看>>
    Nitrux 3.8 发布!性能全面提升,带来非凡体验
    查看>>
    NiuShop开源商城系统 SQL注入漏洞复现
    查看>>
    NI笔试——大数加法
    查看>>
    NLog 自定义字段 写入 oracle
    查看>>
    NLog类库使用探索——详解配置
    查看>>
    NLP 基于kashgari和BERT实现中文命名实体识别(NER)
    查看>>
    NLP 模型中的偏差和公平性检测
    查看>>
    Vue3.0 性能提升主要是通过哪几方面体现的?
    查看>>
    NLP 项目:维基百科文章爬虫和分类【01】 - 语料库阅读器
    查看>>
    NLP_什么是统计语言模型_条件概率的链式法则_n元统计语言模型_马尔科夫链_数据稀疏(出现了词库中没有的词)_统计语言模型的平滑策略---人工智能工作笔记0035
    查看>>
    NLP三大特征抽取器:CNN、RNN与Transformer全面解析
    查看>>
    NLP学习笔记:使用 Python 进行NLTK
    查看>>
    NLP度量指标BELU真的完美么?
    查看>>
    NLP的不同研究领域和最新发展的概述
    查看>>
    NLP的神经网络训练的新模式
    查看>>
    NLP采用Bert进行简单文本情感分类
    查看>>
    NLP问答系统:使用 Deepset SQUAD 和 SQuAD v2 度量评估
    查看>>
    NLP项目:维基百科文章爬虫和分类【02】 - 语料库转换管道
    查看>>
    NLP:使用 SciKit Learn 的文本矢量化方法
    查看>>