yakisakeの日記

ITエンジニアの日記です

cocos2dのActionでのこと

時々は技術的なことを。。。(^_^;)

今cocos2dでゲームを作ってますが、ちょこちょことアニメーションを
作りこんでたりします。

cocos2dだとCCMoveToとかCCRotateToとかで動かすやつです。

例えば、スプライトAを動かす場合、

CCMoveToインスタンス生成
[スプライトA runAction:生成したCCMoveTo];

でやるわけです。

で、連続してやりたい場合、合成したい場合は、CCSequenceとか使うわけです。
が、最終的にはrunActionするのは1つのNodeになるわけです。

例えばスプライトAとスプライトBに対して、同時にアクションさせたいとか
スプライトA→スプライトBってシーケンシャルに呼び出したい場合もあるかと。。。

今回のアニメーションはそんなのばっかり。

で、CCCallBlockとかCCCallFuncの出番。
これでブロック構文か関数を呼び出す。

試しにブロック構文の中でアクションを書いてみましたが
エラーも出ずに実行できたみたいです。
※関数だと煩雑になるのでブロック構文使いました、今回は。

他になにか良い方法ありそうですが、ちょっと手元にある書籍には
この手の方法って書いてなかったので上記の方法で実装をしてみました。