在CPP:類實例的回調方法改變比較主要的實例
void Character::jump(CCLayer *layer){
if (this->isAnimationPlaying) return;
up_or_down = UP;
body->runAction(CCSequence::actions(
CCMoveBy::actionWithDuration(0.5, ccp(0, 50)),
CCCallFuncND::actionWithTarget(body, callfuncND_selector(Character::upDownDone), this),
// CCCallFuncN::actionWithTarget(body, callfuncN_selector(Character::upDownDone)),
NULL));
this->isAnimationPlaying = true;
}
void Character::upDownDone(CCNode *node, CCObject *ob){
this->isAnimationPlaying = false; // *this is different from the this(class instance) in jump method, seems this in upDownDone is a new created instance*
}
所以,我怎樣才能獲得類實例的回調方法?我可以使這主要類實例和回調的類實例相同嗎?
編輯:
字符是它沒有父類的類,和身體是一個成員變量這是CCSprite的一個實例。
謝謝。
我認爲這可能會更好地使Character成爲CCNode的一個子類。 –