Cocos2d-x v3使用动画幻灯片输入/输出更改精灵纹理

时间:2015-07-22 01:19:26

标签: cocos2d-x sprite

我有一个文件名为“blue.png”的Sprite init,这只是创建一个蓝色的简单矩形。

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

我将使用此代码更改Sprite图像

mySpriteOne->setTexture("red.png")

现在我想要在更改图像时,它还有一个向右滑动或向左滑动的过渡滑动。 我刚刚学习了cocos3d几天,所以这个问题对我来说似乎太难了。

感谢任何答案!

1 个答案:

答案 0 :(得分: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);

有点晚了,但你还没有回答,我希望这有帮助。