加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

寒風的Cocos之旅之C++篇REATE_FUNC宏的解析

发布时间:2020-12-14 16:36:02 所属栏目:百科 来源:网络整理
导读:对cocos有了解的人,都应该对CREATE_FUNC这个宏不陌生, 那么今天寒風为大家解析一下这个函数。 首先我们看看里边的源代码: span style="font-family:SimHei;"/** * define a create function for a specific type,such as CCLayer * @__TYPE__ class type

对cocos有了解的人,都应该对CREATE_FUNC这个宏不陌生,


那么今天寒風为大家解析一下这个函数。


首先我们看看里边的源代码:


<span style="font-family:SimHei;">/** 
 * define a create function for a specific type,such as CCLayer 
 * @__TYPE__ class type to add create(),such as CCLayer 
 */  
#define CREATE_FUNC(__TYPE__)   
static __TYPE__* create()   
{   
    __TYPE__ *pRet = new __TYPE__();   
    if (pRet && pRet->init())   
    {   
        pRet->autorelease();   
        return pRet;   
    }   
    else   
    {   
        delete pRet;   
        pRet = NULL;   
        return NULL;   
    }   
}  </span>

下边是我做的一款贪吃蛇的游戏,代码如下:

SnakeBody*SnakeBody::create(int type)
{
	
    SnakeBody *pRet = new SnakeBody(); 
    if (pRet && pRet->init(type)) 
    { 
        pRet->autorelease(); 
        return pRet; 
    } 
    else 
    { 
        delete pRet; 
        pRet = NULL; 
        return NULL; 
    } 
}
我们可以看到在宏的下面定义了一个create()函数返回的类型就是宏带入参


数__TYPE__指针类型.那create函数里,它执行了类的构造函数,执行了

init()初始化


函数,最后又设置创建出的对象为自动释放内存,大大缩减了开发时间.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读