cocos2d-x 自定义一个场景
2013-07-27 10:44
363 查看
柒哥原创 ,欢迎转载,转载请在明显处注明! 谢谢。
原文地址:点击打开链接
我们都知道,布景是放在场景里面进行显示的。
头文件MyLayer.h
上面是我自定义布景的 MenuScene 类,通过这个布景生成场景。这个类要继承自cocos2d::CCLayer,这是一个布景类,构造函数和析构函数都是编译器自动声称的,覆盖父类的init方法。定义一个静态方法,将布景变为场景
CPP文件
使用自定义场景:
调用框架流程:
HelloWorld::Go --> MyLayer::scene() --> MenuScene::create() --> MenuScene::init() -->初始化布景
原文地址:点击打开链接
我们都知道,布景是放在场景里面进行显示的。
头文件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场景
- OGRE 3D 自定义场景管理器中创建一个帧监听
- cocos2d-x新建一个场景并切换
- cocos2d-x——在一个cpp中展示多个场景
- wp7使用Cocos2d-X for XNA制作一个塔防类游戏 (一)游戏基础场景搭建
- 【cocos2d-x】在一个cpp中展示多个场景
- Cocos2D-X学习3:创建一个新的场景
- c++实现创建一个cocos2d-x的场景类
- 通过自定义编辑器在场景和资源中创建一个四边形mesh,解决plane多三角形的问题
- 自定义WritableComparable遭遇空指针异常的一个场景
- 【Cocos2d-x游戏引擎开发笔记(10)】自定义场景和场景跳转
- Cocos2d-x 3.0 新建一个场景并设置为项目启动时自动运行的场景
- [cocos2dx笔记007]一个自定义场景切换的实例
- Cocos2d-js 自定义一个功能相对完备的按钮控件
- cocos2d-x屏蔽一个场景上面的触摸信息
- 创建一个cocos2d-x工程添加一个自定义Scene并显示
- cocos2d-x 自定义场景和场景跳转
- 在Cocos2d-X中创建一个场景