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は使えないらしいので注意。
キャラクターの走るスピードに合わせて、走るアニメーションの再生スピードを動的に変更するなどすれば、より表現を増すことができると思う。