cocos2dx一tab选项卡的实现
来源:互联网 发布:umail软件怎么收费 编辑:程序博客网 时间:2024/05/30 04:30
用CCLayerMultiplex层管理的方式实现tab选项卡,更多的使用可以查看API,看代码
新建一个CCScene场景
#ifndef _TestScene_#define _TestScene_#include "cocos2d.h"#include "cocos-ext.h"#include "Layer1.h"#include "Layer2.h"#include "Layer3.h"#include "Layer4.h"USING_NS_CC;USING_NS_CC_EXT;class TestScene:public cocos2d::CCScene{public:TestScene();~TestScene();virtual bool init();CREATE_FUNC(TestScene);void menuCallback(CCObject* pSender);//layer图层Layer1* layer1;Layer2* layer2;Layer3* layer3;Layer4* layer4;cocos2d::CCLayerMultiplex* layer_mul;int curLayerPos;};#endif
#include "TestScene.h"TestScene::TestScene(){layer1=NULL;layer2=NULL;layer3=NULL;layer4=NULL;curLayerPos=0;}TestScene::~TestScene(){}bool TestScene::init(){if (!CCScene::init()){return false;}//初始化三个图层layer1=Layer1::create();layer2=Layer2::create();layer3=Layer3::create();/*layer4=Layer4::create();*/// layer1->setTag(11);// layer2->setTag(12);// layer3->setTag(13);// layer4->setTag(14);CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();layer_mul=CCLayerMultiplex::create(layer1,layer2,layer3,NULL);layer_mul->setPosition(ccp(0,50));this->addChild(layer_mul);CCMenuItemImage *pCloseItem1 = CCMenuItemImage::create("w_b.png","r_b.png",this,menu_selector(TestScene::menuCallback));CCMenuItemImage *pCloseItem2 = CCMenuItemImage::create("r_b.png","w_b.png",this,menu_selector(TestScene::menuCallback));CCMenuItemImage *pCloseItem3 = CCMenuItemImage::create("g_b.png","r_b.png",this,menu_selector(TestScene::menuCallback));CCMenuItemImage *pCloseItem4 = CCMenuItemImage::create("r_b.png","w_b.png",this,menu_selector(TestScene::menuCallback));// create menu, it's an autorelease objectpCloseItem1->setTag(0);pCloseItem2->setTag(1);pCloseItem3->setTag(2);/*pCloseItem4->setTag(3);*/CCMenu* pMenu = CCMenu::create(pCloseItem1, pCloseItem2, pCloseItem3,NULL);pMenu->alignItemsHorizontallyWithPadding(-1);pMenu->setPosition(visibleSize.width/2,25);this->addChild(pMenu, 1);return true;}void TestScene::menuCallback(CCObject* pSender){int item=((CCMenuItemImage*)pSender)->getTag();if (item!=curLayerPos){layer_mul->switchTo(item);curLayerPos=item;}}
选项卡要显示的三个图层
#ifndef _Layer1_#define _Layer1_#include "cocos2d.h"#include "cocos-ext.h"class Layer1:public cocos2d::CCLayer{public:Layer1();~Layer1();virtual bool init();CREATE_FUNC(Layer1);};#endif
#include "Layer1.h"USING_NS_CC;USING_NS_CC_EXT;using namespace cocos2d;Layer1::Layer1(){}Layer1::~Layer1(){}bool Layer1::init(){if (!CCLayer::init()){return false;}CCSize size=CCDirector::sharedDirector()->getVisibleSize();CCSprite* s1=CCSprite::create("HelloWorld.png");s1->setScale(0.5);s1->setPosition(ccp(size.width/2,size.height/2));this->addChild(s1);// CCNode* node=CCNode::create();// node->addChild(s1);// node->runAction(CCScaleTo::create(0.5,1.5));return true;}
#ifndef _Layer2_#define _Layer2_#include "cocos2d.h"#include "cocos-ext.h"class Layer2:public cocos2d::CCLayer{public:Layer2();~Layer2();virtual bool init();CREATE_FUNC(Layer2);};#endif
#include "Layer2.h"USING_NS_CC;USING_NS_CC_EXT;using namespace cocos2d;Layer2::Layer2(){}Layer2::~Layer2(){}bool Layer2::init(){if (!CCLayer::init()){return false;}CCSize size=CCDirector::sharedDirector()->getVisibleSize();CCSprite* s2=CCSprite::create("HelloWorld.png");s2->setScale(0.8);s2->setPosition(ccp(size.width/2,size.height/2));this->addChild(s2);return true;}
#ifndef _Layer3_#define _Layer3_#include "cocos2d.h"#include "cocos-ext.h"class Layer3:public cocos2d::CCLayer{public:Layer3();~Layer3();virtual bool init();CREATE_FUNC(Layer3);};#endif
#include "Layer3.h"USING_NS_CC;USING_NS_CC_EXT;using namespace cocos2d;Layer3::Layer3(){}Layer3::~Layer3(){}bool Layer3::init(){if (!CCLayer::init()){return false;}CCSize size=CCDirector::sharedDirector()->getVisibleSize();CCSprite* s3=CCSprite::create("HelloWorld.png");s3->setPosition(ccp(size.width/2,size.height/2));this->addChild(s3);return true;}
打完了看看效果吧
源码下载
0 0
- cocos2dx一tab选项卡的实现
- cocos2dx用CCLayerMultiplex实现Tab选项卡
- cocos2dx用CCLayerMultiplex实现Tab选项卡
- 选项卡实现Tab
- Android选项卡Tab的实现
- 实现一个简单的tab选项卡
- javascript实现的tab选项卡切换
- javascript实现简单的tab选项卡
- tab选项卡的基本实现
- 简单的android选项卡Tab菜单TabHost(一)同一Activity上实现
- android学习-----使用TabLayout实现Tab选项卡以及遇到的一些问题(一)
- RadioButton使用(一)实现底部带指示条的Tab选项卡
- [Tab选项卡菜单(一)]位于顶部的tab选项卡菜单
- 网页Tab选项卡实现
- javascript 实现tab选项卡
- 网页Tab选项卡实现
- js实现选项卡(Tab)
- aspnet下Tab选项卡的使用(整理一)
- oracle11g创建表空间 sql语法
- 60个开发者不容错过的免费资源库
- Measuring the Average Unhalted Frequency(讲CPU_CLK_UNHALTED.THREAD和CPU_CLK_UNHALTED.REF关系)
- 黑马程序员_字符编码
- 程序员藏经阁——Linux兵书
- cocos2dx一tab选项卡的实现
- 黑马程序员学习log第七篇基础知识:JAVA的面向对象之GUI总结
- 小问题引起的bug
- My study plan for Spring 14
- SQL Server中的sysobjects
- 《博客园精华集》分类索引
- Git 分支
- C语言变量、函数的作用域及变量的存储方式
- chapter 21 -2 The String Library