黑马程序员技术交流社区
标题:
关于cocos2d-x 的巧用
[打印本页]
作者:
wanyiyuan
时间:
2014-10-3 17:33
标题:
关于cocos2d-x 的巧用
每次新建一个 ccLayer 都需要 重新写
scene() 方法,这是个多么烦人的事啊,有什么办法可以一劳永逸 ,答案是肯定的,当然有。利用c++的模板类就可以完成。
#define DELETE_IF(p) if(p) delete p;p = NULL;
template <class __T__>
class BLayer:public
cocos2d::CCLayer {
public:
static cocos2d::CCScene *scene()
{
cocos2d::CCScene *s = cocos2d::CCScene::create();
__T__ *layer = new __T__();
if(layer && layer->init())
{
s->addChild(layer);
layer->release();
}else{
DELETE_IF(layer);
}
return s;
}
};
用法:
CCScene *pScene = BLayer<HelloWorld>::scene();
呵呵是不是绝对简单。
在看一下 HelloWorld
class HelloWorld : public cocos2d::CCLayer
{
public:
virtual bool init();
// a selector callback
};
复制代码
作者:
超越自己
时间:
2014-10-4 08:17
学习了、
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2