cocos2d-x学习耗时点备忘之一 —— CCLayer 初始化
来源:互联网 发布:淘宝双查号 编辑:程序博客网 时间:2024/06/11 22:26
CCLayer初始化时,一般有三个步骤:
1.在继承CCLayer的子类里实现bool init();方法。
2.在继承CCLayer的子类里声明宏LAYER_NODE_FUNC(layer); 此宏的作用主要是实现通用的CCLayer初始化函数的包装。
代码如下:
- #ifndef GAMELEVELLAYER_H_
- #define GAMELEVELLAYER_H_
- #include "cocos2d.h"
- class GameLevelLayer : public cocos2d::CCLayer
- {
- public:
- GameLevelLayer();
- virtual ~GameLevelLayer();
- virtual bool init();
- // implement the "static node()" method manually
- LAYER_NODE_FUNC(GameLevelLayer);//宏
- };
- #endif /* GAMELEVELLAYER_H_ */
- bool GameLevelLayer::init()
- {
- //////////////////////////////
- // 1. super init first
- if ( !CCLayer::init() )
- {
- return false;
- }
- //初始化成功 插入CCSprite等
- return true;
- }
3.调用代码生成CCLayer时,通过node();方法调用。如下代码:
- GameLevelScene* instance = GameLevelScene::node();
- GameLevelLayer* gameLevelLayer = GameLevelLayer::node();//通过node()调用
- instance->addChild(gameLevelLayer);
如果通过初始化函数来调用,比如GameLevelLayer* gameLevelLayer = new GameLevelLayer();也是能够生成CCLayer的,但是init();方法将不会被自动调用了。我就是因为这点,耗了一晚上,故此记录。
CCScene初始化流程也是类似的
- cocos2d-x学习耗时点备忘之一 —— CCLayer 初始化
- cocos2d-x学习之CCLayer
- Cocos2d-x学习笔记之CCScene、CCLayer、CCSprite的默认坐标和默认锚点实验
- 【Cocos2d-x】CCLayer
- cocos2d-x学习之一
- cocos2d-x学习笔记(4)--CCLayer背景绘制
- cocos2d-X学习之主要类介绍:布景:CCLayer
- Cocos2d-X 学习笔记 21 CCLayer响应手机按键
- Cocos2d-X 学习笔记 22 CCLayer 界面Touch事件处理
- cocos2d-x学习之给CCLayer设置单点触摸
- Cocos2d-x结构学习(四)CCLayer、CCApplicationProtocol、CCApplication
- cocos2d-x(4):CCLayer(层) CCLayerColor、CCLayerGradient、CClayerDelegate学习
- cocos2d 设置cclayer锚点
- cocos2d-x CCLayer可视区域
- cocos2D-x——核心类备忘
- Cocos2D-x——动作类备忘
- 【cocos2d-x】cocos2d-x学习笔记之一
- Cocos2d-x学习之一 坐标系
- VBAソース生成(以後参考用)
- Android严格验证手机号码正则表达式
- USB HID 小记
- 堆排序(依据算法导论伪代码)
- 字符串专项:Ural 1354
- cocos2d-x学习耗时点备忘之一 —— CCLayer 初始化
- Windows进程数据结构及创建流程
- java连接SQL2008
- XNA Development.com
- VS2012下基于Glut 绘制矩形管示例程序:
- 部署Google Code的SVN代码托管环境——VS2008+CollabNet+TortoiseSVN
- 软件工程基础<五>
- C#学习笔记(5)
- windows phone CollectionViewSource类的使用