cocos2d-x实现滑屏

来源:未知 责任编辑:责任编辑 发表时间:2013-11-26 22:13 点击:
   像植物大战僵尸,保卫萝卜这些游戏,刚开始时就有一个滑屏选关卡的功能,这个效果非常好,越来越多的手机游戏使用这种方法进行关卡选择,想到以后,我也会经常用到这个功能,于是,就将这个功能封装起来,大家一起来看看代码吧 p> 

p>[cpp] 

p>#ifndef _SLIDING_LAYER_H_  

p>#define _SLIDING_LAYER_H_  

p>  

p>//////////////////////////////////////////////////////////////////////////  

p>class CSlidingLayer : public CCLayer  

p>{  

p>public:  

p>    CSlidingLayer();  

p>    ~CSlidingLayer();  

p>  

p>public:  

p>    virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);    // 手指触碰时  

p>    virtual void ccTouchMoved(CCTouch *pTouches, CCEvent *pEvent);  // 手指移动时  

p>    virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);    // 手指放开时  

p>  

p>public:  

p>    void AddSprite(CCSprite* pSprite);           // 添加用于滑屏显示的精灵  

p>    bool IsMoveLayer()  { return m_bMoveLayer; } // 用于判断是否手指滑动了  

p>  

p>private:  

p>    CCPoint m_ptTouchDown;      // 首次按下的触摸点  

p>  

p>    typedef vector<CCSprite*> VEC_SPRITE;  

p>    VEC_SPRITE m_vecSprite;     // 精灵集合  

p>    int m_nCurSprite;           // 当前显示的精灵  

p>  

p>    bool m_bMoveLayer;          // 移动层  

p>};  

p>#endif  

p> 

p>[cpp]  

p>#include "stdafx.h"  

p>#include "SlidingLayer.h"  

p>  

p>const int NEXT_SPRITE_SHOW = 50;    // 触摸点与滑动停止时点距离,如果超过这个值,我们认为是滑屏,没有超过则认为误操作,不做滑屏处理  

p>//////////////////////////////////////////////////////////////////////////  

p>CSlidingLayer::CSlidingLayer()  

p>{  

p>    m_ptTouchDown.setPoint(-1, -1);  

p>    m_nCurSprite = 0;  

p>    m_bMoveLayer = false;  

p>}  

p>  

p>//////////////////////////////////////////////////////////////////////////  

p>CSlidingLayer::~CSlidingLayer()  

p>{  

p>  

p>}  

p>  

p>//////////////////////////////////////////////////////////////////////////  

p>bool CSlidingLayer::ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent)  

p>{  

p>    m_ptTouchDown = pTouch->getLocation();    // 获取触摸点  

p>    m_bMoveLayer = false;  

p>    return true;  

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