Cocos2d-x簡易手勢識別

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

之後我們就可以根據這些編寫自己需要的功能了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章