首页 > 其他 > 详细

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

时间:2017-10-04 14:00:48      阅读:219      评论:0      收藏:0      [点我收藏+]

涉及的相关函数和类

动画帧 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学习-动画缓存和动画创建

原文:http://www.cnblogs.com/gaofei-cn/p/7625426.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!