Actionの再生スピードを変更する

cocos2dxでActionの再生スピードを変更したいときは、Speedクラスを使用する。
cocos2d-x: Speed Class Reference

使い方
    auto hogeAction = MoveBy::create(1.0f, Vec2(100,100));
    
    //Speed::create(スピードを変更したいAction, float 再生速度);
    auto speed = Speed::create(hogeAction, 1.0f);
    
    auto fuganode = Node::create();

    fuganode->runAction(speed);

    //setSpeed(float speed) で再生スピードをsetできる
    speed->setSpeed(2.0f);
    //getSpeed()で現在の再生スピードをgetできる
    float currentSpeed = speed->getSpeed();

speed > 1.0 でより速く
speed < 1.0 でゆっくり再生できる。

SpeedクラスはIntervalActionではないので、Speedクラスのアクションと他のアクションとをつなげて再生するSequenceは使えないらしいので注意。


キャラクターの走るスピードに合わせて、走るアニメーションの再生スピードを動的に変更するなどすれば、より表現を増すことができると思う。