cocos2d-x实现滑屏(2)

来源:未知 责任编辑:责任编辑 发表时间:2013-11-26 22:13 点击:

p>void CSlidingLayer::ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent)  

p>{  

p>    m_bMoveLayer = true;  

p>    if (m_vecSprite.size() <= 0)  

p>    {  

p>        return ;  

p>    }  

p>  

p>    int nCurSpriteTemp = m_nCurSprite;  

p>    int nWillShowSpriteIndex = m_nCurSprite;    // 将要显示的精灵的索引,就是你左右滑动时,要显示的精灵  

p>    CCPoint ptTouch = pTouch->getLocation();  

p>    if (ptTouch.x > m_ptTouchDown.x)        // 向右滑动  

p>    {  

p>        nWillShowSpriteIndex--;  

p>    }  

p>    else if (ptTouch.x < m_ptTouchDown.x)   // 向左滑动  

p>    {  

p>        nWillShowSpriteIndex++;  

p>    }  

p>    nWillShowSpriteIndex = __max(0, nWillShowSpriteIndex);  

p>    nWillShowSpriteIndex = __min(nWillShowSpriteIndex, (int)m_vecSprite.size() - 1);  

p>    nCurSpriteTemp = __max(0, nCurSpriteTemp);  

p>    nCurSpriteTemp = __min(nCurSpriteTemp, (int)m_vecSprite.size() - 1);  

p>  

p>    // 当前页移动显示  

p>    int nDalta = ptTouch.x - m_ptTouchDown.x;            // 手指当前滑动到的触摸点与刚开始触摸的点的X差值  

p>    CCSprite* pSprite = m_vecSprite[nCurSpriteTemp];  

p>    CCAssert(pSprite != NULL, "");  

p>    CCSize size = CCDirector::sharedDirector()->getWinSize();  

p>    pSprite->setPosition(ccp(size.width / 2 + nDalta, size.height / 2));    // 移动当前页  

p>      

p>    if (nWillShowSpriteIndex != nCurSpriteTemp)    // 移动将要显示的页  

p>    {  

p>        CCSprite* pSpriteWillShow = m_vecSprite[nWillShowSpriteIndex];  

p>        MUSTOK(pSpriteWillShow);  

p>        if (nWillShowSpriteIndex < nCurSpriteTemp)  

p>        {  

p>            pSpriteWillShow->setPosition(ccp(-size.width / 2 + nDalta, size.height / 2));    // 向右移动时,将要显示的页在屏幕左边,锚点在半屏之外  

p>        }  

p>        else  

p>        {  

p>            pSpriteWillShow->setPosition(ccp(size.width * 3 / 2 + nDalta, size.height / 2)); // 向左移动时,将要显示的页在屏幕右边,锚点在3/2屏之外  

p>        }  

p>    }  

p>}  

p>  

p>//////////////////////////////////////////////////////////////////////////  
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • cocos2d-x学习笔记(19)--label 、label atlas
  • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
  • Cocos2d-x学习(一):HelloWorld
  • cocos2dx在xcode下开发,编译到android上(2)
  • cocos2d 设置屏幕默认方向
  • Cocos2d-x 2.0 之 Actions “三板斧” 之一
  • cocos2d-x学习笔记(22)--地图的使用2(TMX) --Z-Order、AnchorPoi
  • cocos2d-x学习笔记(18)--游戏打包(windows平台)
  • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1