2015-07-22 54 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); 

这有点晚,但你还没有答案,我希望这有助于。