您的位置:首页 > 移动开发 > Cocos引擎

cocos2d-x Action无法访问isdone函数的解决方案

2014-03-28 17:47 274 查看
版本2.04

很多时候都需要知道某个动作是不是执行完毕了

但是由于大部分(似乎是全部)的action类都在生成的时候进行了autorelease

于是在它执行完毕的同时删除了对象

对象被删除了自然也就无法访问isdone函数

看起来是个死循环

于是一路跟踪到CCObject基类

添加了个函数去取消autorelease

代码如下

CCObject* CCObject::disautorelease(void)
{
CCPoolManager::sharedPoolManager()->removeObject(this);
return this;
}

这样某些想要访问isdone的动作在创建完毕的时候先调用一次这个函数

之后访问isdone确认执行完毕之后再进行autorelease

就可以了~

DONE
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cocos2d-x