CCBlinkを止める時の注意点

スプライトをずっと点滅させるために

CCRepeatForever *rf = CCRepeatForever::create(CCBlink::create(0.3f, 2));
rf->setTag(1);
sprite->runAction(rf);

とかした後に、

sprite->stopActionByTag(1);
sprite->setOpacity(255);

とかして、点滅を止めたとき、必ず表示した状態でアニメーションを止めようとしたのですが、これがうまくいきません。

正しくはこちらでした。

sprite->stopActionByTag(1);
CCShow *show = CCShow::create();
sprite->runAction(show);

非表示状態で止めたい場合はこちら。

sprite->stopActionByTag(1);
CCHide *hide = CCHide::create();
sprite->runAction(hide);

こんなのあるんですね。

追記

もっとシンプルな方法ありました。

sprite->stopActionByTag(1);
sprite->setVisible(true);

シーケンスにアクションとして入れておく必要がない場合、これが一番綺麗ですね。