Cocos2d-x学习笔记(六)实例——多层布景

【关于多层布景】

在游戏开发中,一般会把游戏分为两部分:一部分是游戏界面部分,也就是常说得UI部分;另一部分就是游戏本身部分。有时UI有很多页面,在页面中用的图也不是很多,不需要进行场景切换,只需把不同页面做成不同的布景,然后切换布景层。那么就需要一个“管理者”来管理这些界面,这时候就要使用CCLayerMultiplex(多层布景)类。在很多游戏中都需要在不同的界面中使用相同的几个变量,如果不这样做就需要做大量的保存工作。

【关于这个实例】

 在布景方面没有做太多的修改,其中的几个场景与上一个例子场景切换类似

1HelloWorld主场景只进行菜单项图片的更改

CCMenuItemImage *pCloseItem = CCMenuItemImage::create(

"denglu2.png",

"denglu1.png",

this,

menu_selector(HelloWorld::menuCloseCallback));

CC_BREAK_IF(! pCloseItem);

【2】新建一个场景类Scenes,主要用于装载布景层、控制布景层的内部切换

其类申明如下:

class Scenes : public cocos2d::CCScene

{

public:

void runThisTest();

CREATE_FUNC(Scenes);

};

runThisTest方法:


【3】在菜单项消息响应函数里运行此场景(单击或触摸菜单项切换场景)

void HelloWorld::menuCloseCallback(CCObject* pSender)

{

    // "close" menu item clicked

    Scenes* scene = Scenes::create();

scene->runThisTest();

}

【4】对于布景方面的东西不在赘述,由于默认显示登录布景,查看其菜单项

void Denglu::menuDengluCallback(CCObject* pSender)

{

((CCLayerMultiplex*)m_pParent)->switchTo(1);

}

其中CCLayerMultiplex类的switchTo方法主要用于切换布景层(序号从0开始)

【总结】关于多层布景类的使用不是很难,还算比较容易理解的,附上简单的运行效果:


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值