纯软件实现的 3D Touch

电容屏的原理是识别触摸区域,经过处理器去除干扰、确定压力点后,转换成「光标」位置。所以不同的指尖大小,亦或者使用不同的力度触摸,都能被转化成正确的「光标」位置。

在那么让软件能分辨触摸面积,是不是就能实现类似 3D Touch/Force Touch(力度触控)的效果?答案是肯定的,因为已经有人在 Android 开发了基于 Xposed 框架的软件。

简单介绍下 Xposed 框架,它类似于 Minecraft Forge,Forge 为 Minecraft 添加了易用的 API,从而能轻易加载 mod。Xposed 同样使 Android 系统与 App 变得易于修改、自定义。

tkgktyk/ForceTouch 就是基于 Xposed 框架的 "3D Touch",不过作者实现起来,还是遇到了多项困难。比如不同手机和用户的触摸数据存在差异,所以使用前需要执行至少 5 次测试,让软件记录下数据。不过该软件早已停止更新。

任天堂 Switch 其实也内置了,这种基于触摸面积的触摸功能,这能在《附带导航!一做就上手第一次的游戏程序设计》游戏软件里发现。在该游戏里触摸时,会出现圆圈表示光标位置,并且圆圈大小会因为不同的触摸面积而改变。(封面图)

也许 Switch 开发者也有考虑将其用到玩法里,但最后还是因为各种原因,而放弃了吧。仅在《附带导航!一做就上手第一次的游戏程序设计》里留下了这个「隐藏功能」的一点痕迹。

#技术 #游戏
 
 
Back to Top