項目中我們經常會看到如此類的要求“鼠標滑過屏幕,樹葉飄動”等等。可能還有左右判斷的要求,如鼠標向左滑,樹葉向左飄,鼠標向右滑,樹葉向右飄。這個原理其實就是:判斷鼠標點擊屏幕後的滑動方向,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即可。