网络资源,如侵权请联系我删除,本文不产生商业利益
写这篇文章其实已经做完所有的开发工作,今天周末所以搞起,因为项目需要的是手指在屏幕上操作。所以寻找插件,发现这个需求还是蛮多的。
1、导入资源
导入资源加群获取:134688909
2、查看目录
目录,红框是导入资源的包裹
加群获取资源:134688909
内部脚本
关于手势脚本
少写的是捏的手势识别脚本
3、开搞
FingerGesture的作用是管理用户输入和识别手势和鼠标或手指事件。
Paste_Image.png
代码语言:javascript复制参数一览:
make persistent : 设置场景跳转后保持不销毁,FingerGestures 单例在跨场景后一直有
Detect Unity Remote: 在Unity中统一检测
Mouse Input Provider Prefabs : 鼠标输入预制
Touch Input Provider Prefabs : 手势输入预制
4、开发案例
我们想让用户的手指做一些特定的动作来达到程序的多样性
单击:在上面我们已经知道是TapRecognizer
Paste_Image.png
Required Taps:连续轻击的次数。,我们可以在代码中获取
代码语言:javascript复制 int count = gesture.Taps;
// 按下最长时间
float time = gesture.ElapsedTime;
Max Delay Between Taps:两次轻击间最大的时间间隔(单位秒) Movement Tolerance : 两次敲击的位置偏差大小 Max Duration:最大可以识别的手指数
其实就是我们屏幕坐标系。。。打印结果:
打印点击的位置信息
原理:其实通过Unity的事件通知SendMessage来传递消息
手势识别
每种手势都有自己的脚本,我们只需要简单的实现它就是ok的
1、添加对应的手势脚本,设置它的属性 2、监听它的手势事件和对应响应。作为手势事件通知的一部分,GestureRecognizer传递一个包含相关信息(位置,手指触屏点列表,选择的场景物件,相关的GestureRecognizer等)的事件参数。一个手势识别器有以下监听事件的方式: 1、使用标准的.net 委托事件模型,每一个手势识别器都暴露一个.net事件接口 2、使用unity的SendMessage()函数 : 本质来讲这个内部主要是封装Api,还有我们获取相关的游戏对象是通过射线检测来进行识别操纵
Paste_Image.png
创建我们的手势
Paste_Image.png
Paste_Image.png
将创建好的手势进行应用
Paste_Image.png
接下来利用我们的点图案识别
是不是很简单
对勾被识别了,通过测试我们发现只要不是对勾是不会被识别的。
当然我们还可以控制组件的所在层来进行更高效的操作
具体使用简单明了,相信你会很快明白
5、资料来源
http://blog.csdn.net/zkq666666/article/details/47722391