coco2d-x单例的实现

来源:互联网 发布:python 数据可视化js 编辑:程序博客网 时间:2024/05/18 01:33

由于我也是刚刚开始学习cococ2d-x这个引擎,有些地方理解的也不很好。但是今天犯了一个很低级的错误,在使用单例的时候误把重写的create的方法认为是单例,本人很生气,所以就记录了下来。也为刚刚学习 cocos2d-x的同学不要给我一样。代码仅供参考。

首先什么是单例?

个人认为单例就是一个全局的,在什么地方(这个说的是在你的项目工程里啊 )都可以使用,在整个程序的过程中都是不会死亡的,知道程序的结束。

单例的实现:

<pre name="code" class="cpp">static HeroTank* instance = NULL; HeroTank * HeroTank::getInstance() {    if(instance == NULL) {        instance = new HeroTank();        instance->init();    }    return instance;}

由于我将单例跟重写的create方法搞混了,那我就讲create也贴出来吧,重写create方法是在需要传参的时候。

重写create方法如下:

HeroTank* HeroTank::create(int num){  HeroTank* hero = new HeroTank();  if(hero&&hero->init(num)) {    hero->autorelease();   return hero; } delete hero; hero = NULL; return NULL;}以上也就是我的基础知识点不扎实到时的,说我就决定记录下来,防止以后再犯此类错误,和方便以后查看使用,如有错误也希望各位读者给予更正。




0 0
原创粉丝点击