2015-07-22 56 views
0

我有一個文件名爲「blue.png」的Sprite init,這只是用藍色創建一個簡單的矩形。Cocos2d-x v3使用動畫幻燈片輸入/輸出更改Sprite紋理

mySpriteOne = Sprite::create("blue.png"); 
mySpriteOne->setPosition(Vec2(0,0)); 
mySpriteOne->setAnchorPoint(Vec2(0,0)); 
this->addChild(mySpriteOne,-1); 

我會改變雪碧圖像與此代碼

mySpriteOne->setTexture("red.png") 

現在我想,當變化圖像它也有一個過渡滑向右或滑動至左側。 我剛剛學習了幾天的cocos3d,所以這個問題對我來說似乎太難了。

謝謝任何​​答案!

回答

0

做你想做的事情的最好方法是運行moveTo或moveBy動作,然後執行回調以更改紋理,然後將moveTo動作移回原始位置。

float slideTime = 2.0f; // Time taken for slideIn/Out animation 
auto originalPosition = mySpriteOne->getPosition(); 
auto slideOutChangeSequence = Sequence::create(
           MoveTo::create(slideTime, vec2(-100, 100)), 
           callfunc_selector(MainScene::swapTextureCallback), 
           MoveTo::create(slideTime, originalPosition, 
           NULL); 

mySpriteOne->runAction(slideOutChangeSequence); 

這有點晚,但你還沒有答案,我希望這有助於。