介绍一些实用的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 ...
随机推荐
- C#百万数据查询超时问题
用c#从百万数据中筛选一些信息时,经常会出现程序连接超时的错误,常见的错误很多,例如:Timeout expired. The timeout period elapsed prior to comp ...
- 实体框架Entity Framework 4.1快速入门
介 绍 在旧的Entity 框架中,开发者可以从已存在的数据库中产生业务实体的模型,这种开发方法被称为数据库驱动的开发方法.而在4.1的Entity Framework中,支开发者先创建实体业务类,然 ...
- CF GYM 100703A Tea-drinking
题意:龙要制作n个茶,每个茶的配方是一个字符串,两个字符串之间有一个差值,这个差值为两个字符串每个对应字母之间差的绝对值的最大值,求制作所有茶时获得的所有差值中的最大值. 解法:克鲁斯卡尔.将茶的配方 ...
- duilib中ListCtrl控件的实现
转载请说明出处,谢谢~~ 昨天在编程群里聊天,提到了ListCtrl,然后有网友找我,他需要做一个ListCtrl控件,我看过需求后接下了这个活.今天就把大致的思路和过程记录一下.首先看<任务书 ...
- 使用linq 对 DataTable 中的数据进行 查询 与 分类求合
A:linq 的查询方式写得可以非常简洁如下所示: DataTable dt = null; private void XtraForm1_Load(object sender, Eve ...
- Linq 两个集合模糊查询
1.Linq的likelist<string> l=new list<string>();l.add("ss")l.add("ss123" ...
- 利用迅雷提供的接口从磁力链得到bt种子文件
本地下载工具的磁力链下载速度不给力,而百度云盘有提供离线下载服务,相当于就是直接到服务器取个链接而已.但这需要bt文件,而我只有链力链.网上搜了一下,可以从磁力链构造一个bt文件的下载地址,用pyth ...
- HW6.27
import java.util.Scanner; import java.util.Arrays; public class Solution { public static void main(S ...
- static,interface and final
1.static: a)抽象类(abstract class):使用了 abstract 关键字所修饰的 类叫做抽象类.抽象类无法实例化,不能 new 出来一个抽象类的对象(实例). 抽象方法(abs ...
- 问题-关于SizeOf在Delphi7和Delphi2009下结果分别是16/32
问题:同样的代码在Delphi7和Delphi2009下结果分别是16/32,为什么?var LWindCode : array [0..15] of char; begin showmess ...