//事件监听回调:触摸结束 void HelloWorld::onTouchEnded(cocos2d::Touch *touch, cocos2d::Event *unused_event) { //获取X轴和Y轴的移动范围 Point touchPoint=touch->getLocation(); //获取OpenGL坐标(即cocos2d-x坐标,原点在左下角) endX=firstX - touchPoint.x; endY=firstY - touchPoint.y; //判断X轴和Y轴的移动距离,如果X轴的绝对值大,则向左右滑动,如果Y轴的绝对值大,则向上下滑动 if(abs(endX) > abs(endY)) { //手势向左右 //判断向左还是向右 if(endX+5>0) { //向左 doLeft(); //判断游戏是否还能继续 doCheckGameOver(); } else { //向右 doRight(); //判断游戏是否还能继续 doCheckGameOver(); } } else { //手势向上下 //判断手势向上还是向下 if(endY+5>0) { //向下 doDown(); //判断游戏是否还能继续 doCheckGameOver(); } else { //向上 doUp(); //判断游戏是否还能继续 doCheckGameOver(); } } }
void HelloWorld::onTouchEnded(Touch *touch, Event *unused_event){ Point touchPo = touch->getLocation(); endX = firstX - touchPo.x; endY = firstY - touchPo.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 (doUp()){ autoCreateCardNumber(); doCheckGameOver(); } }else{ //下 if (doDown()){ autoCreateCardNumber(); doCheckGameOver(); } } } }