项目中我们经常会看到如此类的要求“鼠标滑过屏幕,树叶飘动”等等。可能还有左右判断的要求,如鼠标向左滑,树叶向左飘,鼠标向右滑,树叶向右飘。这个原理其实就是:判断鼠标点击屏幕后的滑动方向,if向左滑动,则产生相应的帧动画,else if向右滑动,则产生相应的向右的帧动画。
首先,这个动作应该在ccTouchMoved或ccTouchesMoved中执行,这两个函数用法上的区别,我已经在“cocos2d-x的一些规范”这篇博文中讲过了(http://blog.csdn.net/qearl_wangfang/article/details/8854519)。今天我们用ccTouchMoved这个函数来写。
我们要先设置鼠标滑过的起点和终点坐标,然后计算它们的差值,以判断鼠标滑动的方向。
CCPoint beginPoint=pTouch->getLocationInView();
beginPoint=CCDirector::sharedDirector()->convertToGL(beginPoint);
CCPoint endPoint=pTouch->getPreviousLocationInView();
endPoint=CCDirector::sharedDirector()->convertToGL(endPoint);
float a= endPoint.x - beginPoint.x;
再加入相应的帧动画
if( a > 0 )
//向左滑 {
}
else
//向右滑 {
}
这是鼠标左右滑动屏幕,要鼠标上下滑动屏幕,则将x改成y即可。