1.因为cocos2dx是C++编写,直接利用ios或者android原生手势识别比较困难,所以我们这里用到别人为cocos2dx写好的手势识别库。
下载:https://github.com/spalx/cocos2d-x-extensions
作者在论坛上的帖子:http://www.cocos2d-x.org/forums/18/topics/27470
2.新建一个工程,然后把库文件都扔到classes里面。
3.该库可以识别轻点、缩放、长按、重击等手势,需要识别哪种手势将头文件include进来就是。这里拿常用的缩放举例
#include "CCPinchGestureRecognizer.h"
4.之后就像其他cocos2dx类一样创建加入到场景中就可以了。
CCPinchGestureRecognizer * pinch = CCPinchGestureRecognizer::create();
pinch->setTarget(this, callfuncO_selector(HelloWorld::didPinch));
pinch->setCancelsTouchesInView(true);
this->addChild(pinch);
5.设置回调函数,回调函数返回值为void,有一个CCObject参数。
void didRecognizeGesture(CCObject * obj);
6.在编写回调函数具体内容时,需要注意将传入的CCobject转化为相应的手势种类,依然拿缩放手势举例。
CCPinch *pinch = (CCPinch*)obj;
7.转化后的的手势有不同的值,比如缩放手势就有收缩和扩张两个值,分别对应
kPinchGestureRecognizerTypeClose
kPinchGestureRecognizerTypeOpen
之后我们就可以根据这些编写自己需要的功能了。