我有一个文件名为“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几天,所以这个问题对我来说似乎太难了。
感谢任何答案!
答案 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);
有点晚了,但你还没有回答,我希望这有帮助。