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
很多时候都需要知道某个动作是不是执行完毕了
但是由于大部分(似乎是全部)的action类都在生成的时候进行了autorelease
于是在它执行完毕的同时删除了对象
对象被删除了自然也就无法访问isdone函数
看起来是个死循环
于是一路跟踪到CCObject基类
添加了个函数去取消autorelease
代码如下
CCObject* CCObject::disautorelease(void)
{
CCPoolManager::sharedPoolManager()->removeObject(this);
return this;
}
这样某些想要访问isdone的动作在创建完毕的时候先调用一次这个函数
之后访问isdone确认执行完毕之后再进行autorelease
就可以了~
DONE
相关文章推荐
- 十七、Android无法访问本地服务器(localhost)的解决方案
- 还原数据库出错:”因为数据库正在使用,所以无法获得对数据库的独占访问权“的解决方案
- 脚本之家无法访问或访问较慢临时解决方案
- IIS6.0服务器架站无法访问解决方案总结
- 阿里云端口无法访问解决方案
- win7无法访问Samba,解决方案
- Android无法访问本地服务器(localhost)的解决方案
- 无法远程访问Mysql的解决方案
- 无法远程访问Mysql的解决方案
- Win8双系统下硬盘某分区无法访问的解决方案
- SpringBoot WEB-INF目录下文件无法访问一种解决方案
- 无法访问部署在linux上的Tomcat服务器解决方案
- Android无法访问本地服务器(localhost)的解决方案
- Mac 下Github无法访问[解决方案]
- centos安装apache外网无法访问的解决方案
- 【转】WPF [调用线程无法访问此对象,因为另一个线程拥有该对象。] 解决方案以及如何实现字体颜色的渐变
- nginx开启后主机无法访问虚拟机的nginx解决方案
- windows server 2003 上“您要访问的网页有问题,无法显示。HTTP 500 - 内部服务器错误。”的问题解决方案!
- CentOS6.5(4)----宿主机无法访问虚拟机中的web服务解决方案
- android开发问题-关于Xutils框架出现无法访问HttpRequestBase 找不到org.apache.http.client.methods.HttpRequestBase解决方案