Exemplo n.º 1
0
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);
	
}