介绍一些实用的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 ...
随机推荐
- WCF 学习总结2 -- 配置WCF
前面一篇文章<WCF 学习总结1 -- 简单实例>一股脑儿展示了几种WCF部署方式,其中配置文件(App.config/Web.config)都是IDE自动生成,省去了我们不少功夫.现在回 ...
- Application Pool Identities
Whether you are running your site on your own server or in the cloud, security must be at the top of ...
- 编写高效的C程序与C代码优化 via jobbole
http://blog.jobbole.com/82582/ 原文出处: codeproject 译文出处:CodingWu的博客 欢迎分享原创到伯乐头条
- 无法找到.exe的调试信息
原文:无法找到.exe的调试信息 前天重装了电脑,并配置了Visual Studio2005的VC正则库,boost/regex,运行速度马上快了三倍吧,到底是怎么快的,我还真说不清楚,因为电脑这玩意 ...
- C#递归遍历指定目录下文件和文件夹
#region 使用递归查询某路径中的文件结构 public static void CheckFilePath() { ReadFilePath(); } public static void Re ...
- DNS(三)DNS SEC(域名系统安全扩展)
工作需要今天了解了下DNS SEC,现把相关内容整理如下: 一.DNS SEC 简介 域名系统安全扩展(英语:Domain Name System Security Extensions,缩写为DNS ...
- 打印出从1到最大的n位十进制数
首先这一题会溢出,要考虑的大数问题.所以不能用简单的是int类型数来表示(32位无符号int 范围是0x00000000···0xFFFFFFFF),下面主要是非递归的实现代码,自己做了注释方便以后回 ...
- uva 11916 Emoogle Grid
题意:用K种颜色给一个N*M的格子涂色.其中有B个格子是不能涂色的.涂色时满足同一列上下紧邻的两个格子的颜色不同.所有的涂色方案模100000007后为R.现在给出M.K.B.R,求一个最小的N,满足 ...
- JAVA一个关于传递引用的测试
以下测试主要为了说明:对传递对象或传递引用进行修改,对最终值的影响情况 public class PassTest { @Before public void setUp() thro ...
- leetcode@ [49] Group Anagrams (Hashtable)
https://leetcode.com/problems/anagrams/ Given an array of strings, group anagrams together. For exam ...