読者です 読者をやめる 読者になる 読者になる

夏までにiPhone アプリつくってみっか!

趣味でiPhone/Androidアプリを開発し、日々勉強した事を書いています。オープンワールド系レースゲームをUnityで開発中です。

【cocos2d】CCEaseBackInアクションでクマをズシンズシンと歩かせろ!

cocos2d Objective-C BeeCluster

BeeClusterではSteering BehaviorsのArrivalという方法でキャラクターの動きを滑らかにしています。詳しくはこれらのポストをご覧ください。
空中を飛ぶ虫は滑らか動きが必要なのですが、地上を歩く動物はどうでしょうか?
あまり滑らかに動くと歩いている感がなくなってしまいます。
今回はCCEase系のCCEaseBackInアクションを使ってクマが歩いている感じを演出してみます。

今回使用するCCEaseBackInというアクションを使うと、動き出し時に一旦逆方向に少し動き、それから本来の方向動くような感じになります。
言葉では表現しにくいので、動画をご覧ください。

何となくクマの重量感がわかっていただけたと思います。
えっ?犬に見える?
ほっといてください。

CCEaseBackInアクションの使い方はとても簡単です。
クマの動きはこんな感じにプログラムしています。左右にちょっと揺れながら下がってくるCCMoveByアクションをパラメーターとして受け取るだけです。

    id down1 = [CCMoveBy actionWithDuration:2.0 position:ccp(-10, -65)];
    id ease1 = [CCEaseBackIn actionWithAction:down1];
    id down2 = [CCMoveBy actionWithDuration:2.0 position:ccp(10, -65)];
    id ease2 = [CCEaseBackIn actionWithAction:down2];
    id sequence = [CCSequence actions:ease1, ease2, ease1, ease2, nil];
    [self runAction:sequence];