分享一些cocos2d手势识别资料
1.使用传统的方式实现
使用"CCTargetedTouchDelegate"&&"CCStandardTouchDelegate"在cocos2d中实现手势识别和在使用"touchBegan-touchMoved-touchEnded"处理识别逻辑是最基本的方法。
相关链接:http://www.cocos2d-iphone.org/wiki/doku.php/tips:touchdelegates
2.一个传统的实现方法-GestureDetectionClass(Metric)
Metric通过已有的各种不同的手势方法创建了GestureDetection类。目前支撑手势:上滑、下滑、左滑、右滑;正方形,原型以及X号。
相关链接:http://www.cocos2d-iphone.org/forum/topic/2527
下边是我用GestureDetection类做的一个简单的demo
UIGestureRecognizer非常出色,同样可以很好地被用在cocos2d中。
3.在cocos2d中使用UIGestureRecognizer方法(一)-CCGestureRecognizer(xemus)
xemus通过创建CCGestureRecognizer类把UIGestureRecognizer引入cocos2d。
它允许你在UIGestureRecognizer中使用手势定义,但在使用这个类之前,你需要改变cocos2d源代码(CCNode和CCLayer)
相关链接:http://www.cocos2d-iphone.org/forum/topic/8929
4.在cocos2d方法(2)中使用UIGestureRecognizer方法(二)-SFGestureRecognizers(KrzysztofZab?ock)
KrzysztofZab?ock创建了SFGestureRecognizers类,你也可以在UIGestureRecognizer中使用手势定义。
这个过程中不用转换cocos2d源代码,它已经使用了分类,同时这些代码可以对cocos2d1.0和cocos2d2.0同样有效。
相关链接:http://www.merowing.info/2012/03/using-gesturerecognizers-in-cocos2d/
相关链接:https://github.com/krzysztofzablocki/CCNode-SFGestureRecognizers
Demo:
5.1美元的UnistrokeRecognizer-MCGestureRecognizer(Malcom)
Malcom在2009年开发了MCGestureRecognizer类,这是一个objective-c实现的价值1美元的UnistrokeRecognizer。它是一个简单的手势识别算法,包括16种公认的不同的手势,你还可以自行添加。
相关链接:http://depts.washington.edu/aimgroup/proj/dollar/
这些源代码非常难找,我也是很早以前从网上下载过代码文件,然后做些一些更改,更改后的代码支持cocos2d,可能因为我之前做过不少更改,所有这些代码效果可能不大好。
6.NDollarUnistrokeRecognizer-WTMGlyphRecognizer(BritGardner)
BritGardner创建了这个WTMGlyphRecognizer类,这是一个iOS执行的NDollarGestureRecognizer。这边还有一个javaapp,它可以创建图形并以JSON文件形式输出。
相关链接:http://lucalaiho.altervista.org/joomla/shape-editor
相关链接:https://github.com/britg/MultistrokeGestureRecognizer-iOS
我对源代码做过一些更改,并且使用CCLayer集代替UIView。
Demo:
有开发者赞成上述方法,也有不怎么喜欢的,但你可以根据你的游戏挑选合适的方法。
来源:supersuraccoon