//加入游戏的手势识别,进行绑定
auto touchListener = EventListenerTouchOneByOne::create();touchListener->onTouchBegan = CC_CALLBACK_2(HelloWorld::onTouchBegan,this);
touchListener->onTouchEnded = CC_CALLBACK_2(HelloWorld::onTouchEnded,this);
_eventDispatcher->addEventListenerWithSceneGraphPriority(touchListener,this);
//获取初始,x,y坐标
bool HelloWorld::onTouchBegan(cocos2d::Touch * touch,cocos2d::Event *unused_event){
Point touchPO = touch->getLocation();
firstX = touchPO.x;
firstY = touchPO.y;
return true;
}
void HelloWorld::onTouchEnded(cocos2d::Touch * touch,cocos2d::Event *unused_event){
//获取X轴,Y轴的移动范围
Point touchPO = touch->getLocation();
endX = firstX-touchPO.x;
endY = firstY-touchPO.y;
//判断,x轴跟y轴的移动距离,如果x轴的绝对值比y轴的大就是左右,否则就是上下
if(abs(endX) > abs(endY))
{
if(endX+5>0){
if(doLeft()){
autoCreateCardNumber();
doCheckGameOver();
}
}
else{
if(doRight()){
autoCreateCardNumber();
doCheckGameOver();
}
}
}else{
if(endY+5>0){
if(doDown()){
autoCreateCardNumber();
doCheckGameOver();
}
}
else{
if(doUp()){
autoCreateCardNumber();
doCheckGameOver();
}
}
}
}