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*
}
では、コールバックメソッドでクラスインスタンスを取得するにはどうすればよいですか?そして、これをメインクラスインスタンスとコールバックのクラスインスタンスで同じにすることはできますか?
編集:
Characterは親クラスを持たないクラスであり、bodyはCCSpriteのインスタンスであるメンバー変数です。
ありがとう。