http://www.supersuraccoon-cocos2d.com/zh/2012/11/14/introduction-to-some-great-ios-gesture-recognition-libraries-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)的更多相关文章

  1. iOS 开源库介绍

    1. Github-iOS备忘 2. iOS 第三方开源库的吐槽和备忘 3. 移动开发的后台服务支持平台 4. iOS 开源库 之 AFNetWorking 2.x 5. iOS 之 二维码 ZXin ...

  2. iOS 第三方库、插件、知名博客总结

    iOS 第三方库.插件.知名博客总结 用到的组件 1.通过CocoaPods安装 项目名称 项目信息 AFNetworking 网络请求组件 FMDB 本地数据库组件 SDWebImage 多个缩略图 ...

  3. fir.im Weekly - 热门 iOS 第三方库大盘点

    本期 fir.im Weekly 收集的热度资源,大部分关于Android.iOS 开发工具.源码和脑洞大开的 UI 动画,希望给你带来更多的工作创意与灵感. 盘点国内程序员不常用的热门iOS第三方库 ...

  4. 快快快!27个提升效率的iOS开源库推荐

    文章来源:http://www.csdn.net/article/2015-07-21/2825264-27-ios-open-source-libraries/1 我热爱开源,更喜爱那些花费宝贵的业 ...

  5. iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)

    iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)       1.UIGestureRecognizer介绍 手势识别在iOS上非常重要,手势操作移动设备的重要特征,极大的增加 ...

  6. fir.im Weekly - 2017 年必须了解的 iOS 开源库

    放假的脚步临近,每个人都在期待一个愉悦的春节假期.最近,@张嘉夫 分享了一篇 Medium 上的文章<33 个 2017 年必须了解的 iOS 开源库>,总结了 2016 年最棒的 iOS ...

  7. iOS链接库的冲突

    最近在打包的时候,遇到一个坑.特此记录一下 起因是发现 Unity 5.4 版本,使用c#写的下载,下载速度无法突破 2M/s,同样的网络,后来横向对比使用原来 Cocos2d 开始的游戏,可以达到 ...

  8. 快快快!27个提升效率的iOS开源库推荐(转)

    CSDN移动将持续为您优选移动开发的精华内容,共同探讨移动开发的技术热点话题,涵盖移动应用.开发工具.移动游戏及引擎.智能硬件.物联网等方方面面.如果您想投稿.参与内容翻译工作,或寻求近匠报道,请发送 ...

  9. ios iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)

    iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势) 转自容芳志大神的博客:http://www.cnblogs.com/stoic/archive/2013/02/27/2940 ...

随机推荐

  1. Hibernate之QBC检索和本地SQL检索

    QBC查询就是通过使用Hibernate提供的Query By Criteria API来查询对象,这种API封装了SQL语句的动态拼装,对查询提供了更加面向对象的功能接口 本地SQL查询来完善HQL ...

  2. 将你的Asp.NET应用程序嵌入到SharePoint

    转:http://www.cnblogs.com/Clank/archive/2007/05/21/754073.html 为什么要将Asp.net应用程序嵌入到SharePoint?这个我们不讨论! ...

  3. fedora下的dropbox

  4. leetcode@ [36/37] Valid Sudoku / Sudoku Solver

    https://leetcode.com/problems/valid-sudoku/ Determine if a Sudoku is valid, according to: Sudoku Puz ...

  5. [Tutorial] Using the RasPi as a WiFi hostspot

    http://www.raspberrypi.org/forums/viewtopic.php?f=36&t=19120 http://wireless.kernel.org/en/users ...

  6. 转载 C#中敏捷开发规范

    转载原地址 http://www.cnblogs.com/weixing/archive/2012/03/05/2380492.html 1.命名规则和风格 Naming Conventions an ...

  7. [转]windows下srand48()和drand48()的问题

    转自:windows下srand48()和drand48()的问题 #ifndef DRAND48_H #define DRAND48_H #include <stdlib.h> #def ...

  8. 本地开发 localhost链接数据库比127.0.0.1慢

    自己手写一段代码的时候发现一个问题  链接数据库的时候 用 127.0.0.1比localhost明显的快,localhost要等一下才会有响应 而127.0.0.1就是瞬间响应.一番排查,发现了一个 ...

  9. 学习和理解C#中的事件

    注:本文系学习笔记. 上一篇文章记录了我对C#中委托的理解.委托实际上是一种类型.可以将一个或多个方法绑定到委托上面,调用委托时,一次执行委托上面绑定的方法.本文要讲述的事件实际上和委托有很深的“感情 ...

  10. NSArrary和NSString间的转换

    将string字符串转换为array数组 NSArray  *array = [Str componentsSeparatedByString:@","]; // 注意:NSArr ...