介绍一些实用的IOS手势识别库 (COCOS2D)
最近的游戏中刚巧要用到一点手势识别的功能,于是便在网上搜索了一下资源,又做了一些尝试,最终找到了满意的解决方案。
在这里,想和各位感兴趣的朋友们分享一下在调查过程中发现的一些优秀实用的识别库。
.有时最基础的东西已经足以满足需求:
1. 最传统而又实用的处理方式
最简单但又有效的方式,当然是直接实用cocos2d中所支持的两种模式:”CCTargetedTouchDelegate” && “CCStandardTouchDelegate”,通过自己来处理”touchBegan – touchMoved – touchEnded”中的逻辑,来实现手势的识别。
参考链接: http://www.cocos2d-iphone.org/wiki/doku.php/tips:touchdelegates
2. 传统方式的一种封装实现 – GestureDetection类 (作者: Metric)
Metric编写的GestureDetection类就是基于原始的”touchBegan – touchMoved – touchEnded”方式。该类中已经内置了手势:滑动 (上, 下, 左, 右), 正方形, 圆形, X形。
参考链接: http://www.cocos2d-iphone.org/forum/topic/2527
下面是我使用GestureDetection写的简单演示程序:
.在cocos2d中使用UIGestureRecognizer:
3. 在cocos2d中使用UIGestureRecognizer (1) – CCGestureRecognizer (作者:xemus)
xemus编写的CCGestureRecognizer类库实现了将UIGestureRecognizer和cocos2d进行整合,它让你可以在cocos2d中方便的使用UIGestureRecognizer来对内建手势进行识别。
但是在使用该类库前,需要对cocos2d的源码做出些微的修改(CCNode和CCLayer)。
参考链接: http://www.cocos2d-iphone.org/forum/topic/8929
4. 在cocos2d中使用UIGestureRecognizer (2) – SFGestureRecognizers (作者:Krzysztof Zabłock)
Krzysztof Zabłock创建的 SFGestureRecognizers类同样是将UIGestureRecognizer和cocos2d进行了结合,而且因为是通过category实现的,所以无需对cocos2d的源码进行修改。作者同时还提供了针对1.0,2.0,2.0 ARC三个版本的
演示程序。
参考链接: http://www.merowing.info/2012/03/using-gesturerecognizers-in-cocos2d/
参考链接: https://github.com/krzysztofzablocki/CCNode-SFGestureRecognizers
演示程序:
.如果你需要更加复杂的手势识别,请接着看下去:
5. $1单笔识别 – MCGestureRecognizer (作者:Malcom)
Malcom在2009编写的MCGestureRecognizer类库,是$1单笔识别算法($1 Unistroke Recognizer)的一个IOS平台实现。它内置了16种不同手势的识别,同时还可以简单的进行添加。
参考链接: http://depts.washington.edu/aimgroup/proj/dollar/
说实话这个类库已经很难找到源码了,之前作者提供的下载地址的网站已经倒掉了,我在网上一些很旧的项目中,很幸运的淘到了代码。然后对其做了一下修改让其在cocos2d框架中可以正常的编译运行。但是识别的结果很不理想(当让这可能是因为我并没有花很多时间在这个库上的原因) :
6. N Dollar单笔识别 – WTMGlyphRecognizer (作者:Brit Gardner)
Brit Gardner编写的 WTMGlyphRecognizer是N Dollar单笔识别算法( N Dollar Gesture Recognizer)的一个IOS平台实现。手势的模板以json格式保存。
另外还有可以用来查看和编辑新手势JSON文件的java小程序。
参考链接: http://lucalaiho.altervista.org/joomla/shape-editor
参考链接: https://github.com/britg/MultistrokeGestureRecognizer-iOS
这个演示程序中,我修改了一点类库的源码,并将原来的UIView的一套东西重新写了个CCLayer的实现方法:
所有的识别库必然都由着他自己优点和缺点,如何选择最有效的解决方案这就要根据自己的游戏需求来具体分析了^_^
介绍一些实用的IOS手势识别库 (COCOS2D)的更多相关文章
- iOS 开源库介绍
1. Github-iOS备忘 2. iOS 第三方开源库的吐槽和备忘 3. 移动开发的后台服务支持平台 4. iOS 开源库 之 AFNetWorking 2.x 5. iOS 之 二维码 ZXin ...
- iOS 第三方库、插件、知名博客总结
iOS 第三方库.插件.知名博客总结 用到的组件 1.通过CocoaPods安装 项目名称 项目信息 AFNetworking 网络请求组件 FMDB 本地数据库组件 SDWebImage 多个缩略图 ...
- fir.im Weekly - 热门 iOS 第三方库大盘点
本期 fir.im Weekly 收集的热度资源,大部分关于Android.iOS 开发工具.源码和脑洞大开的 UI 动画,希望给你带来更多的工作创意与灵感. 盘点国内程序员不常用的热门iOS第三方库 ...
- 快快快!27个提升效率的iOS开源库推荐
文章来源:http://www.csdn.net/article/2015-07-21/2825264-27-ios-open-source-libraries/1 我热爱开源,更喜爱那些花费宝贵的业 ...
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势) 1.UIGestureRecognizer介绍 手势识别在iOS上非常重要,手势操作移动设备的重要特征,极大的增加 ...
- fir.im Weekly - 2017 年必须了解的 iOS 开源库
放假的脚步临近,每个人都在期待一个愉悦的春节假期.最近,@张嘉夫 分享了一篇 Medium 上的文章<33 个 2017 年必须了解的 iOS 开源库>,总结了 2016 年最棒的 iOS ...
- iOS链接库的冲突
最近在打包的时候,遇到一个坑.特此记录一下 起因是发现 Unity 5.4 版本,使用c#写的下载,下载速度无法突破 2M/s,同样的网络,后来横向对比使用原来 Cocos2d 开始的游戏,可以达到 ...
- 快快快!27个提升效率的iOS开源库推荐(转)
CSDN移动将持续为您优选移动开发的精华内容,共同探讨移动开发的技术热点话题,涵盖移动应用.开发工具.移动游戏及引擎.智能硬件.物联网等方方面面.如果您想投稿.参与内容翻译工作,或寻求近匠报道,请发送 ...
- ios iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势) 转自容芳志大神的博客:http://www.cnblogs.com/stoic/archive/2013/02/27/2940 ...
随机推荐
- Spring基础知识及bean的配置
IOC与DI: IOC(inversion of control):其思想是反转资源获取的方向.传统的资源查找方式要求组件向容器发起请求查找资源.作为回应,容器适时的返回资源.而应用了IOC之后,则是 ...
- 静态Web开发 DOM
四章 Dom 1节dom中的顶级对象 dom(文档对象模型)js最终是要操作html页面,让html变成DHtml,而操作Html页面就要用到DOMDOM可以吧Html页面模拟成一个对象,如果js只是 ...
- MySQL 存储过程删除大表
1.权限问题 alter routine 编辑或删除存储过程 create routine 建立存储过程 execute 创建存储过程 2.存储过程相关的一些命令 show procedure sta ...
- Python中,如何初始化不同的变量类型为空值
参考文章 Python中,如何初始化不同的变量类型为空值 常见的数字,字符,很简单,不多解释. 列表List的其值是[x,y,z]的形式 字典Dictionary的值是{x:a, y:b, z:c} ...
- 《深入Java虚拟机学习笔记》- 第19章 方法的调用与返回
<深入Java虚拟机学习笔记>- 第19章 方法的调用与返回
- ado.dataset
DataSet是ADO.NET的中心概念.可以把DataSet当成内存中的数据库,DataSet是不依赖与数据库的独立数据集合.所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是 ...
- HW5.32
public class Solution { public static void main(String[] args) { int n1 = (int)(Math.random() * 5 + ...
- 访问修饰符(access modifier)。
1)public(公共的):被 public所修饰的属性和方法可以被有类访问. 所修饰的属性和方法可以被有类访问. 2)protected (受保护的):被protected所修饰的属性和方法可以在类 ...
- HDU-2262 Where is the canteen 概率DP,高斯消元
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2262 题意:LL在一个迷宫里面转,每次走向周围能走的点的概率都是一样的,现在LL要随机的走到cante ...
- Vmware Ubuntu 虚拟机下Android开发环境搭建
概况: 1.安装jdk: 2.安装adt-bundle: 1.安装jdk 先下载linux下的jdk,我下的是 jdk-7u13-linux-i586 :然后解压,为方便,建个文件夹--/home/x ...