Cocos2d-xのActionまとめ 基本編
Cocos2d-xでアニメーションを行うのによく用いるActionクラスをまとめました。
ソースコードはこちらから https://github.com/foresta/ActionSample/blob/master/Classes/TestScene.cpp
基本編と応用編とイージング編に分けてまとめていきます。
環境 OS X High Sierra Cocos2d-x 3.17 アクションまとめ Actionの基本 Node::runAction(Action* action)を用いてアクションを実行します。
ActionにはByとToが存在することが多いです。
Moveの例で説明すると、MoveByが今のNodeの位置からどれだけ移動するかで、MoveToはどこに向かって移動するかになります。 相対的な指定と、絶対的な指定ができるイメージです。
状況に応じて使い分けましょう。
Move void TestScene::move() { // iconを(x: 50, y: 0)分だけ、1秒間かけて移動 this->icon->runAction(MoveBy::create(1.f, Vec2(50.f, 0))); } Rotate void TestScene::rotate() { // iconを1秒かけて一回転 this->icon->runAction(RotateBy::create(1.f, 360.f)); } Scale void TestScene::scale() { // iconを1秒かけて、2倍の大きさにする this->icon->runAction(ScaleBy::create(1.f, 2.f)); } Skew void TestScene::skew() { // iconを1秒かけて、x方向に30だけ歪ませる this->icon->runAction(SkewBy::create(1.f, 30.f,0.f)); } Resize void TestScene::resize() { // iconを1秒かけて、(x: 100, y: 50) だけ多くリサイズする this->icon->runAction(ResizeBy::create(1.