cocos2d学习-动画缓存和动画创建

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cocos2d学习-动画缓存和动画创建相关的知识,希望对你有一定的参考价值。

涉及的相关函数和类

动画帧 SpriteFrame

帧缓存 SpriteFrameCache

动画创建的方法

需要的参数:动画帧图片的名字,图片数量,帧时间间隔,循环次数

创建一个动画首先要声明一个图片帧(用SpriteFrame方法)和一个动画(用Animation方法),然后把每一个图片帧添加到动画中。图片帧通过把图片放到帧缓存中得到的,这个时候大多会通过图片的名字(名字+数字-%s%d)遍历每一张图片。

Animate* ActionTool::animationWithFrameName(const char*each_name, int iloops, float delay)
{
    SpriteFrame* frame = NULL;//声明一个图片帧
    Animation* animation = Animation::create();//创建一个动画
    int index = 1;//第几个帧
    do//循环遍历帧
    {
        String* name = String::createWithFormat("%s%d", each_name, index++);//第index++个图片帧名字
        frame = SpriteFrameCache::getInstance()->getSpriteFrameByName(name->getCString);//通过名字获取图片帧 
        if (frame == NULL)//判断帧是否为空
        {
            break;
        }
        animation->addSpriteFrame(frame);//把帧加入到动画中
    } while (true);
    animation->setDelayPerUnit(delay);//帧延时--时间间隔 
    animation->setRestoreOriginalFrame(true);//动画结束后返回到开始帧
    Animate* animate = Animate::create(animation);//创建动作
    return animate;
}

 

以上是关于cocos2d学习-动画缓存和动画创建的主要内容,如果未能解决你的问题,请参考以下文章

cocos2d CCSprite + 动画重复?

cocos2d-3.x 创建动画

Cocos2D 弃用的动画方法

在 Cocos2D 和 Spritebuilder 中为 Sprite 设置动画

在 cocos2d 中停止 Sprite 动画

Sprite 帧动画 Cocos2d 3.0