zoukankan      html  css  js  c++  java
  • cocos2dx实现浏览图片的功能,拖动精灵实现精灵的左右移动,主要实现代码:

    //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);
    	//.....
    }
  • 相关阅读:
    luogu P3398 仓鼠找sugar
    关于lca
    luogu P3374 【模板】树状数组 1
    [NOIp2013普及组]车站分级
    [HDU1598]find the most comfortable road
    [NOI2015]程序自动分析
    [USACO08DEC]Secret Message
    [洛谷3375]【模板】KMP字符串匹配
    [ZJOI2010]网络扩容
    [SCOI2007]修车
  • 原文地址:https://www.cnblogs.com/fjut/p/2475693.html
Copyright © 2011-2022 走看看