cocos2d-x 自定义一个场景
来源:互联网 发布:银行的软件开发 编辑:程序博客网 时间:2024/06/06 03:20
柒哥原创 ,欢迎转载,转载请在明显处注明! 谢谢。
原文地址:点击打开链接我们都知道,布景是放在场景里面进行显示的。
头文件MyLayer.h
#ifndef __MENUSCENE_H__#define __MENUSCENE_H__#include "cocos2d.h"#include "SimpleAudioEngine.h"#include "cocos-ext.h" USING_NS_CC_EXT; using namespace cocos2d;class MenuScene:public cocos2d::CCLayer{public:virtual bool init();static CCScene* scene();CREATE_FUNC(MenuScene);};#endif
上面是我自定义布景的 MenuScene 类,通过这个布景生成场景。这个类要继承自cocos2d::CCLayer,这是一个布景类,构造函数和析构函数都是编译器自动声称的,覆盖父类的init方法。定义一个静态方法,将布景变为场景
CPP文件
#include "MenuScene.h"#include "cocos-ext.h" USING_NS_CC_EXT; using namespace cocos2d;CCScene* MenuScene::scene(){ CCScene * scene = NULL; do { scene = CCScene::create(); CC_BREAK_IF(! scene);//需要定义CREATE_FUNC(MenuScene)宏 ,才有create方法 MenuScene *menu = MenuScene::create();//该create会调到init() CC_BREAK_IF(!menu); scene->addChild(menu);//将我们自定义的布景加入到场景 } while (0);//外界只要调用该方法就可以得到该scene return scene; }bool MenuScene::init(){ bool bRet = false; do { CC_BREAK_IF(! CCLayer::init());//添加一个背景CCSprite * menuBackground = CCSprite::create("menubg.png");CCSize menuBgSize = menuBackground->getContentSize();CCSize winSize = CCDirector::sharedDirector()->getWinSize();menuBackground->setScale(0.4f);menuBackground->setPosition(ccp(350,200));this->addChild(menuBackground,0); bRet = true; } while (0); return bRet;}
使用自定义场景:
void HelloWorld::Go(CCObject *p) { CCScene *s=MyLayer::scene(); CCDirector::sharedDirector()->replaceScene(s); }
调用框架流程:
HelloWorld::Go --> MyLayer::scene() --> MenuScene::create() --> MenuScene::init() -->初始化布景
- cocos2d-x 自定义一个场景
- cocos2d-x 一个自定义场景切换的实例
- cocos2d-x 自定义场景和场景跳转
- cocos2d-x 自定义场景和场景跳转
- cocos2d-x创建一个场景
- cocos2d-x 自定义的场景转换
- cocos2d-x新建一个场景并切换
- 在Cocos2d-X中创建一个场景
- cocos2d-x的场景
- cocos2d-x 场景震动
- cocos2d-x 场景切换
- cocos2d-x 更换场景
- cocos2d-X 场景Scene
- cocos2d-x 场景切换
- cocos2d-x之场景
- cocos2d-x 场景切换
- cocos2d-x中的场景
- Cocos2d-x场景切换
- javabean实现serializable有什么用?为什么数据库持久就Bean实现这个接口?
- 就諯给了爷爷喝
- 如何办好网站形式优化的十个要害要端
- HDU1075 What Are You Talking About
- AVS、MPEG-2、H264标准文档
- cocos2d-x 自定义一个场景
- wdcp登录超时的检查和修复方法
- 【rmzt】我要&&睡觉觉win7主题_7.27
- POJ1742:Coins(多重背包)
- 三省六部官职
- 我挂了
- 暑期第一阶段总结
- HDU 2579 BFS
- 《学习Qt之路2》笔记:Qt之QmessageBox