码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-10-04 14:21:29      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:声明   nbsp   logs   each   string   cti   动画   ons   while   

涉及的相关函数和类

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

标签:声明   nbsp   logs   each   string   cti   动画   ons   while   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!