物件做變速運動
a. easesinein ----> 物體先慢後快
b. easesineout---> 物體先快後慢
c. easesineinout-> 物體執行sine運動
auto spriteframe = spriteframe::create("mp.png", rect(0, 81.25 * 2, 81.25, 81.25));
auto sprite1 = sprite::createwithspriteframe(spriteframe);
sprite1->setposition(vec2(100, 500));
this->addchild(sprite1);
auto sprite2 = sprite::createwithspriteframe(spriteframe);
sprite2->setposition(vec2(100, 300));
this->addchild(sprite2);
//執行特殊的動作
auto move = moveby::create(4,vec2(650,0));
sprite1->runaction(move);
auto easein = easesineout::create((moveby*)move->clone());
sprite2->runaction(easein);
彈跳運動
a. easebouncein----->開始的時候彈跳幾下,然後進入
b. easebounceout----->開始的時候進入,結束的時候彈跳幾下
c. easebounceinout--->開始的時候彈跳幾下,然後進入,結束的時候再彈跳幾下
auto spriteframe = spriteframe::create("mp.png", rect(0, 81.25 * 2, 81.25, 81.25));
auto sprite1 = sprite::createwithspriteframe(spriteframe);
sprite1->setposition(vec2(100, 500));
this->addchild(sprite1);
auto sprite2 = sprite::createwithspriteframe(spriteframe);
sprite2->setposition(vec2(100, 300));
this->addchild(sprite2);
//執行特殊的動作
auto move = moveby::create(4,vec2(650,0));
sprite1->runaction(move);
auto easein = easebouncein::create((moveby*)move->clone());
sprite2->runaction(easein);
指數運動,變化大
a. easeexponentialin----> 剛開始慢,後面非常快
b. easeexponentialout----> 剛開始非常快,後面慢
c. easeexponentialinout----> 剛開始慢,然後非常快,最後慢
auto spriteframe = spriteframe::create("mp.png", rect(0, 81.25 * 2, 81.25, 81.25));
auto sprite1 = sprite::createwithspriteframe(spriteframe);
sprite1->setposition(vec2(100, 500));
this->addchild(sprite1);
auto sprite2 = sprite::createwithspriteframe(spriteframe);
sprite2->setposition(vec2(100, 300));
this->addchild(sprite2);
//執行特殊的動作
auto move = moveby::create(4,vec2(650,0));
sprite1->runaction(move);
auto easein = easeexponentialinout::create((moveby*)move->clone());
sprite2->runaction(easein);
橡皮筋效果
a. easeelasticin----->剛開始拉伸,然後運動
b. easeelasticout----->剛開始運動,後面拉伸
c. easeelasticinout---->剛開始拉伸,然後運動,最後拉伸
auto spriteframe = spriteframe::create("mp.png", rect(0, 81.25 * 2, 81.25, 81.25));
auto sprite1 = sprite::createwithspriteframe(spriteframe);
sprite1->setposition(vec2(100, 500));
this->addchild(sprite1);
auto sprite2 = sprite::createwithspriteframe(spriteframe);
sprite2->setposition(vec2(100, 300));
this->addchild(sprite2);
//執行特殊的動作
auto move = moveby::create(4,vec2(650,0));
sprite1->runaction(move);
auto easein =easeelasticout::create((moveby*)move->clone());
sprite2->runaction(easein);
稍微彈跳
a. easebackin---->剛開始稍微彈跳,然後運動
b. easebackout---->剛開始運動,然後稍微彈跳
c. easebackinout-->剛開始稍微彈跳,然後運動,最後再稍微彈跳
auto spriteframe = spriteframe::create("mp.png", rect(0, 81.25 * 2, 81.25, 81.25));
auto sprite1 = sprite::createwithspriteframe(spriteframe);
sprite1->setposition(vec2(100, 500));
this->addchild(sprite1);
auto sprite2 = sprite::createwithspriteframe(spriteframe);
sprite2->setposition(vec2(100, 300));
this->addchild(sprite2);
//執行特殊的動作
auto move = moveby::create(4,vec2(650,0));
sprite1->runaction(move);
auto easein = easebackout::create((moveby*)move->clone());
sprite2->runaction(easein);
cocos2d x 跟隨動作
ccfollow 乙個節點跟隨另外乙個節點的動作。定義第乙個引數是要跟隨的節點,第二個引數是運動的邊界。如果沒有傳入邊界,則視為沒有邊界。bool helloworld init ccsprite spr ccsprite create icon.png spr setposition ccp 10...
cocos2dx動作框架分析
cocos2dx提供了豐富的動作實現的類。其中最主要的兩個類是 ccaction和 ccactionmanager,ccaction是所有動作的基類,類中有幾個很重要的方法 virtual void startwithtarget ccnode ptarget 設定動作的目標virtual void...
Cocos2d x動作學習筆記
action類如其名,它可以改變node物件的屬性,action物件是隨著時間改變node的屬性。任何乙個以node為基類的物件都有可執行的動作物件。例如,你可以在乙個時間段內將sprite精靈從乙個位置移動到另乙個位置。每個動作都有by和to兩個狀態。為什麼呢?因為它們所執行的結果是不同的。by相...