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);
シーケンスにアクションとして入れておく必要がない場合、これが一番綺麗ですね。