Ejemplo n.º 1
0
//事件监听回调:触摸结束
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(); 
		}

	}
}
Ejemplo n.º 2
0
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();
			}
		}
	}
}