(1)没有封装的代码实现如下
在.h文件中声明:
static CCScene *scene();
在.cpp文件中实现:
CCScene* Level1::scene()
{
CCScene *scene = CCScene::create();
Level1 *layer = Level1::create();
scene->addChild(layer);
return scene;
}
(2)封装后的代码放在一个头文件中:#pragma -mark对场景的封装
#include"cocos2d.h"
using namespace cocos2d;
#define SCENE_FUNC(_TYPE_)\
static CCScene *scene()\
{\
_TYPE_ *scene=_TYPE_::create();\
CCScene *s=CCScene::create();\
s->addChild(scene);\
return s;\
}
此时,就对这个方法进行了封装,在使用时,直接包含头文件,然后在头文件中写
SCENE_FUNC(EnterLayer);EnterLayer表示层的名称。