黑马程序员技术交流社区

标题: 关于cocos2d-x 的巧用 [打印本页]

作者: wanyiyuan    时间: 2014-10-3 17:33
标题: 关于cocos2d-x 的巧用
  1. 每次新建一个 ccLayer 都需要 重新写
  2. scene() 方法,这是个多么烦人的事啊,有什么办法可以一劳永逸 ,答案是肯定的,当然有。利用c++的模板类就可以完成。

  3. #define DELETE_IF(p) if(p) delete p;p = NULL;
  4. template <class __T__>
  5. class BLayer:public
  6. cocos2d::CCLayer {
  7. public:
  8.     static cocos2d::CCScene *scene()
  9.     {

  10. cocos2d::CCScene *s = cocos2d::CCScene::create();
  11.         __T__ *layer = new __T__();
  12.         if(layer && layer->init())
  13. {

  14.             s->addChild(layer);
  15.             layer->release();
  16.         }else{
  17.             DELETE_IF(layer);
  18.         }
  19.         return s;
  20.     }
  21. };
  22. 用法:
  23. CCScene *pScene = BLayer<HelloWorld>::scene();
  24. 呵呵是不是绝对简单。
  25. 在看一下 HelloWorld
  26. class HelloWorld : public cocos2d::CCLayer
  27. {
  28. public:
  29.     virtual bool init();

  30. // a selector callback

  31. };
复制代码



作者: 超越自己    时间: 2014-10-4 08:17
学习了、




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2