Cocos 2d x 學習筆記二(Action篇)

2021-07-30 10:20:32 字數 1966 閱讀 5515

//建立移動動作

actioninterval *moveto = moveto::create(5, vec2(0, 200));

// 建立x軸方向的翻轉動作

actioninstant *flipx = flipx::create(true);

actioninterval *moveback = moveto::create(5, vec2(visiblesize.width, 200));

auto player=sprite::create("player.png");

player->setposition(point(visiblesize.width/2,200));

auto action = sequence::create(moveto, flipx, moveback, flipx->reverse(), null);

player->runaction(action);

ccbezierconfig beizer;

beizer.controlpoint_1 = point(200, 300);

beizer.controlpoint_2 = point(400, 400);

beizer.endposition = point(50, 200);

auto beizieraction = bezierto::create(2.0f,beizer);

auto dog = sprite::create("player.png");

dog->setposition(point(visiblesize.width /

2, 200));

this->addchild(dog);

dog->runaction(beizieraction);

額,後面會講到乙個jumpbyjumpto類所以就在這裡先介紹一下,其create後面有4個引數,第乙個是執行的時間,第二個是乙個物件的座標,代表跳完最後落在的座標(以原來物件所處位置為原點的相對座標系)

-actionease緩衝效果

該類有5類運動:指數緩衝,sine緩衝,彈性緩衝,跳躍緩衝,回震緩衝,每類運動都包含了3個不同時期的變換:in,out,inout,(其中in代表開始時加速,out代表結尾時加速),以下是樣例:

actioninterval *moveto1 = moveto::create(5, vec2(50, 100));

actioninterval *moveto2 = moveto::create(5, vec2(50, 300));

actioninterval *moveto3 = moveto::create(5, vec2(50, 500));

auto scene = director::getinstance()->getrunningscene();

auto layer = scene->getchildbytag(1);

auto dog1 = layer->getchildbytag(1);

auto dog2 = layer->getchildbytag(2);

auto dog3 = layer->getchildbytag(3);

auto action1 = easeexponentialin::create(moveto1);

auto action2 = easeexponentialout::create(moveto2);

auto action3 = easeexponentialinout::create(moveto3);

dog1->runaction(action1);

dog2->runaction(action2);

dog3->runaction(action3); //我在vs上跑的時候為什麼先執行第二個函式

COCOS2DX學習筆記(二)

動畫 animation這個類裡面有create函式,下面這行 中animation首先先建立乙個空的動畫,因為是動畫,所以需要兩張或者以上的進行切換達到形成動畫的效果,因為我這裡把的名字寫的相近,所以利用了一下規律進行儲存,提高 的可讀性 animation panimations animati...

Cocos2d x學習筆記1

1.建立新的cocos2d x 3.0 專案 在命令列中輸入 cocos new helloworld 專案名稱 p com.ss.pku 包名字 l cpp 專案型別 d d cocos workspace 專案存放路徑 2.資料夾分析 resource 資料夾 存放資源檔案 include和so...

Cocos2d x學習筆記(7)

1 動作基本概念 ccactiong是動作類的基類,動作作用於ccnode,因此,任何乙個動作都需要ccnode物件來執行。ccaction作為乙個基類,其實質是乙個介面 抽象類 由它派生的實現類才是實際使用的動作。ccaction的絕大多數實現類都派生自ccfinitetimeaction,這個類...