cocos2d-x 关卡选择界面(CCScrollView的使用)
来源:互联网 发布:淘宝网开店卖衣服货源 编辑:程序博客网 时间:2024/05/17 23:56
今天要写一个关卡选择界面。
百度了下,采用了CCScrollView来实现。
具体CCScrollView的使用就不介绍了。 百度大把。(关键字: CCScrollView详解)
这里,主要通过一个实例介绍菜单界面的实现。
先看效果图。如下:
1.先从 http://pan.baidu.com/share/link?shareid=2511857370&uk=2685725110 中下载需要的资源
2.把Resources文件夹下的图片资源和 CCGameScrollView.h 以及 CCGameScrollView.cpp文件导入自己的工程中
3.让你的类继承CCGameScrollView并实现5个纯虚接口。
//以下五个方法必须继承 //滚动触发 virtual void scrollViewDidScroll( cocos2d::extension::CCScrollView *view ); //缩放触发virtual void scrollViewDidZoom( cocos2d::extension::CCScrollView *view ); //初始化每个单独页面,pPage为这个页面的容器,nPage是这个页面的IDvirtual bool scrollViewInitPage( cocos2d::CCNode *pScroll, cocos2d::CCNode *pPage, int nPage ); //点击某个页面处理virtual void scrollViewClick( const cocos2d::CCPoint &oOffset, const cocos2d::CCPoint &oPoint , cocos2d::CCNode *pPage, int nPage ); //每一次滑动后结束的回调,可以在这里处理一些事情virtual void scrollViewScrollEnd( cocos2d::CCNode *pPage, int nPage );
4.实现相关的方法即可。
下面具体给出我自己的测试类。
LevelSelect.h
//// LevelSelect.h// RunGame//// Created by Colin on 14-4-13.////#ifndef __RunGame__LevelSelect__#define __RunGame__LevelSelect__#include <iostream>#include "cocos2d.h"#include "CCGameScrollView.h" //导入头文件using namespace cocos2d;class LevelSelectScene : public cocos2d::CCLayer , public CCCGameScrollViewDelegate{public: LevelSelectScene();~LevelSelectScene(); bool init(); static cocos2d::CCScene* scene(); //以下五个方法必须继承 //滚动触发 virtual void scrollViewDidScroll( cocos2d::extension::CCScrollView *view ); //缩放触发virtual void scrollViewDidZoom( cocos2d::extension::CCScrollView *view ); //初始化每个单独页面,pPage为这个页面的容器,nPage是这个页面的IDvirtual bool scrollViewInitPage( cocos2d::CCNode *pScroll, cocos2d::CCNode *pPage, int nPage ); //点击某个页面处理virtual void scrollViewClick( const cocos2d::CCPoint &oOffset, const cocos2d::CCPoint &oPoint , cocos2d::CCNode *pPage, int nPage ); //每一次滑动后结束的回调,可以在这里处理一些事情virtual void scrollViewScrollEnd( cocos2d::CCNode *pPage, int nPage ); CREATE_FUNC(LevelSelectScene); private:CCCGameScrollView *m_ScrollView;};#endif /* defined(__RunGame__LevelSelect__) */
//// LevelSelect.cpp// RunGame//// Created by Colin on 14-4-13.////#include "LevelSelect.h"#include "SimpleAudioEngine.h"#include "GameMain.h" //主游戏界面using namespace cocos2d;using namespace CocosDenshion;USING_NS_CC_EXT;LevelSelectScene::LevelSelectScene(){ }LevelSelectScene::~LevelSelectScene(){ }CCScene* LevelSelectScene::scene(){ CCScene *scene = CCScene::create(); LevelSelectScene *layer = LevelSelectScene::create(); scene->addChild(layer); return scene;}//滚动触发void LevelSelectScene::scrollViewDidScroll( CCScrollView *view ){ }//缩放触发void LevelSelectScene::scrollViewDidZoom( CCScrollView *view ){ }//初始化每个单独页面,pPage为这个页面的容器,nPage是这个页面的IDbool LevelSelectScene::scrollViewInitPage( cocos2d::CCNode *pScroll, cocos2d::CCNode *pPage, int nPage ){CCString str;str.initWithFormat("%03d.png", nPage + 1);CCSprite *sprite = CCSprite::create(str.getCString());pPage->addChild(sprite); return true;}//点击某个页面的处理void LevelSelectScene::scrollViewClick( const cocos2d::CCPoint &oOffset, const cocos2d::CCPoint &oPoint , cocos2d::CCNode *pPage, int nPage ){switch(nPage){ case 0:{ //进入游戏主界面 CCDirector::sharedDirector()->replaceScene(CCTransitionFadeBL::create(0.5,GameMain::scene()));} break; case 1:{//滚动到某个页面m_ScrollView->scrollToPage(2);} break; case 2:{//设置当前页面m_ScrollView->setCurPage(3);} break;} }//每一次滑动后结束的回调,可以在这里处理一些事情void LevelSelectScene::scrollViewScrollEnd( cocos2d::CCNode *pPage, int nPage ){CCLog("Current Page=%d", nPage);}bool LevelSelectScene::init(){if(!CCLayer::init()){return false;} // CCScrollViewm_ScrollView = CCCGameScrollView::create();//创建一个scrollviewm_ScrollView->setDirection(kCCScrollViewDirectionHorizontal); //设置滚动的方向,目前来说只能横方向和纵方向 //this,页面的数量,每个页面的尺寸(影响页面间的距离)m_ScrollView->createContainer(this, 5, CCSizeMake(CCDirector::sharedDirector()->getVisibleSize().width * 0.8, CCDirector::sharedDirector()->getVisibleSize().height));//一般是原点m_ScrollView->setPosition(ccp(0, 0));//视口的尺寸(一般是屏幕的尺寸)m_ScrollView->setViewSize(CCDirector::sharedDirector()->getVisibleSize()); this->addChild(m_ScrollView); return true;}
学习的路上,与君共勉。
64 0
- cocos2d-x 关卡选择界面(CCScrollView的使用)
- coco2d-x CCScrollView实现关卡选择 新手引导 帮助界面
- coco2d-x CCScrollView实现关卡选择 新手引导 帮助界面
- CCScrollView使用实例(二) -- 关卡选择界面
- CCScrollView 实现帮助界面、关卡选择
- CCScrollView 实现帮助界面、关卡选择
- cocos2d-x CCScrollView和CCTableView的使用
- cocos2d-x中的CCScrollView的使用
- Cocos2d-x中的CCScrollView的使用
- cocos2d-x CCScrollView和CCTableView的使用
- cocos2d-x CCScrollView和CCTableView的使用
- cocos2d-x CCScrollView和CCTableView的使用
- cocos2d-x CCScrollView和CCTableView的使用
- 【cocos2d-x】利用CCScrollView, 实现帮助界面
- 【cocos2d-x】利用CCScrollView, 实现帮助界面
- 【cocos2d-x】利用CCScrollView, 实现帮助界面
- 创建CCSCrollView 选择关卡方法
- 【玩转cocos2d-x之十五】关卡选择的设计
- 我国出境游人数和购买力均跃居世界第一
- sqlserver 中group by的用法
- 解析margin的自动值auto
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- HDU4502-吉哥系列故事——临时工计划
- cocos2d-x 关卡选择界面(CCScrollView的使用)
- android::数据库简单原理。
- HTML中<!DOCTYPE>作用及用法详解
- cvEigenVV 函数的使用
- 机器学习如何度量相似性 Cosine
- jsp网页产生验证码
- 第十二题 将二叉查找树左右节点反转
- 假意或真心
- POJ 1308 Is It A Tree?