Spritesheet动画与缩放帧

时间:2014-09-22 06:09:20

标签: c++ animation cocos2d-x scale cocos2d-x-3.0

为了在cocos2d-x 3.2中创建动画,我这样做:

 SpriteFrameCache* cache = SpriteFrameCache::getInstance();

    Vector<SpriteFrame*> animFrames(15);

    for(int i = 1; i <= 7; ++i)
    {
        SpriteFrame* frame = cache->getSpriteFrameByName(String::createWithFormat("%d.png", i)->getCString());
        animFrames.pushBack(frame);
    }


    auto animation = Animation::createWithSpriteFrames(animFrames, 1 / animFrames.size());
    auto animate = Animate::create(animation);
    pSprite->runAction(animate);

但是现在为了创建镜像图像,我需要一些用scale来缩放ByBy的帧。 SpriteFrame没有scale方法。另外,我不能scale pSprite因为只有一些帧应该缩放。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

你有一个非常奇怪的情况:)

  1. 您可以在精灵上安排更新选择器,并根据您所需的条件将flipX设置为true / false。 这是我的个人偏好。

  2. 你无法以这种方式攻击SpriteFrame,但你可以使用RenderTexture:http://www.cocos2d-x.org/reference/native-cpp/V3.0alpha0/d9/ddc/classcocos2d_1_1_render_texture.html - 在新纹理中翻转你想要的精灵,基本上可以动态生成一个新的精灵表。 现在这是一个坏主意。