//ccTouchBegan必须实现,否则会报错
bool PicScan::ccTouchBegan(CCTouch* pTouch, CCEvent* event)
{
return true;
}

void PicScan::ccTouchMoved(CCTouch *touch, CCEvent *event)
{
//获得触摸点初始坐标
CCPoint beginLoc = touch->locationInView(touch->view());
beginLoc = CCDirector::sharedDirector()->convertToGL(beginLoc);

//判断鼠标拖拉的区域是否在图片上
if(CCRect::CCRectContainsPoint(lpSprite->boundingBox(), this->getParent()->convertTouchToNodeSpace(touch)) == true)
{
//固定图片在某个区域
if(lpSprite->getPosition().y > s.height/2+50)
{
lpSprite->setPosition(ccp(lpSprite->getPosition().x, s.height/2+50));
}

if(lpSprite->getPosition().y < s.height/2-50)
{
lpSprite->setPosition(ccp(lpSprite->getPosition().x, s.height/2-50));
}
printf(" ccTouchMoved --------------\n");

//获得前一个触摸点坐标
CCPoint endLoc = touch->previousLocationInView(touch->view());
endLoc = CCDirector::sharedDirector()->convertToGL(endLoc);

//计算偏移量
CCPoint offSet = ccpSub(beginLoc, endLoc);
Drag(offSet);
}

}

void PicScan::Drag(CCPoint offSet)
{
//计算精灵坐标加上移动偏移量、并设置精灵位置
CCPoint pos = ccpAdd(lpSprite->getPosition(), offSet);
lpSprite->setPosition(pos);
//.....<br>}