zoukankan      html  css  js  c++  java
  • Cocos2d-x学习笔记(二十三)之 动画

      本节学习和动画类CCAnimate相关的类,比如:CCAnimationCache类、CCAnimationFrame类、CCAnimation类等。下面我们就来一一学习:

      1、动画缓存类CCAnimationCache:是一个单例,用于缓存所有的动画和动画帧,使用示例如下:

    1 //获得动画缓存类CCAnimationCache
    2 CCAnimationCache* animCache = CCAnimationCache::shareAnimationCache();
    3 //通过addAnimation函数加入动画,并给动画命名。
    4 animCache->addAnimation( animation, "dan" );
    5 //通过调用animationByName函数传入动画名获得相应动画。
    6 CCAnimation* normal = animCache->animationByName( "dan" );

      2、动画帧类CCAnimationFrame:是单张的图片,也可以通过精灵帧定义。使用示例如下:

    1 //定义一个CCSpriteFrame类的实例对象。
    2 CCSpriteFrame* frame = (CCSpriteFrame*)pObj;
    3 //定义一个CCAnimationFrame对象。
    4 CCAnimationFrame* animFrame = new CCAnimationFrame();
    5 //通过CCSpriteFrame初始化动画帧CCAnimationFrame,参数:精灵帧CCSpriteFrame、动画帧的延迟时间、CCDictionnary类型的信息。
    6 animFrame->initWithSpriteFrame( frame, 1, NULL );

      3、动画类CCAnimation:就是动画,储存一个动画动作需要的所有帧,可以通过帧的数组定义。使用示例如下:

    1 //定义一数组
    2 CCArray* animFrames = CCArray::create();
    3 //从动画缓存中获得一个动画帧
    4 CCAnimationFrame* frame = cache->spriteFrameByName( "dan_1" );
    5 //把动画帧添加到数组中
    6 animFrames->addObject( frame );
    7 //定义动画CCAnimation
    8 CCAnimation* animation = CCAnimation::create( animFrames, 0.3f );

      也可以用精灵帧CCSpriteFrame来定义动画。

      4、动画动作CCAnimate:就是一个动作类,可以通过CCAnimation动画来定义CCAnimate动画动作,使用示例如下:

    1 sprite->runAction( CCRepeatForever::create(CCAnimate::create(animation)) );
  • 相关阅读:
    bzoj4821
    bzoj2434
    第二阶段团队项目冲刺站立会议(五)
    第二阶段团队项目冲刺站立会议(四)
    第二阶段团队项目冲刺站立会议(三)
    小水王
    第二阶段团队项目冲刺站立会议(二)
    梦断代码阅读笔记02
    第二阶段团队项目冲刺站立会议(一)
    梦断代码阅读笔记01
  • 原文地址:https://www.cnblogs.com/atong/p/3284711.html
Copyright © 2011-2022 走看看