cocos2d-x Action無法訪問isdone函數的解決方案

版本2.04

很多時候都需要知道某個動作是不是執行完畢了

但是由於大部分(似乎是全部)的action類都在生成的時候進行了autorelease

於是在它執行完畢的同時刪除了對象

對象被刪除了自然也就無法訪問isdone函數

看起來是個死循環

於是一路跟蹤到CCObject基類

添加了個函數去取消autorelease

代碼如下

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

這樣某些想要訪問isdone的動作在創建完畢的時候先調用一次這個函數

之後訪問isdone確認執行完畢之後再進行autorelease

就可以了~

DONE


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章