void GiftListView::ccTouchMoved( CCTouch *pTouch, CCEvent *pEvent ) { CCPoint touchPoint=pTouch->getLocation(); float nMovex = touchPoint.x - mMoveBeginPoint.x; //CCLOG("movex:%f",nMovex); mMovex += nMovex; if (!(nMovex<5 && nMovex>-5))//移动 { if (mNowSeledItem && mNowSeledItem->mStatus != GiftItem::nor) { mNowSeledItem->setStatus(GiftItem::nor); mNowSeledItem = NULL; } } CCLayer* firstPage = (CCLayer*)mPages.objectAtIndex(0); CCLayer* lastPage = (CCLayer*)mPages.objectAtIndex(mPages.count()-1); int f=0;//阻力 if (firstPage->getPositionX()>0 || lastPage->getPositionX()<0)//超出边界有阻力 { f = nMovex/2; } for (int i=0;i<(int)mPages.count();i++) { CCLayer* page = (CCLayer*)mPages.objectAtIndex(i); CCPoint curPoint = page->getPosition(); CCPoint nextPoint = ccp(curPoint.x+nMovex-f,curPoint.y); page->setPosition(nextPoint); } mMoveBeginPoint.setPoint(touchPoint.x,touchPoint.y); }