1.此工具类的目的是为了方便运行动画。使用TexturePackerGUI工具能够导出plist文件和png图片,这里我演示样例图片叫bxjg.plist和bxjg.png

//////////////////////////////////////.h文件

#ifndef _AnimateUtil_H_

#define _AnimateUtil_H_

#include "cocos2d.h"

using namespace cocos2d;

using namespace std;

class AnimateUtil//动画工具类

{

public:

//依据文件名称字前缀创建动画对象                         名称   播放的间隔    是否循环播放   

static Animation * createWithSingleFrameName(const char * name, float delay, int Loops);

//依据文件名称字前缀创建动画对象,指定动绘图片数量        名称    图片数量  播放的间隔  是否循环播放 

static Animation * createWithFrameNameAndNum(const char * name, int num, float delay, int Loops);

};

#endif

/////////////////////////////////.cpp文件

#include "AnimateUtil.h"





Animation * AnimateUtil::createWithSingleFrameName(const char * name, float delay, int Loops)

{

/*将图片载入到精灵帧缓冲池*/

SpriteFrameCache *frameCache = SpriteFrameCache::getInstance();

Vector<SpriteFrame * > frameVec;

SpriteFrame * frame = NULL;

int index = 1;//小图片数量

do 

{

//从SpriteFrame缓冲池获取SpriteFrame对象

frame = frameCache->getSpriteFrameByName(StringUtils::format("%s%d.png", name, index++));

//不断获取spriteFrame对象,直到获取的值为NULL

if (frame == NULL)

{

break;

}

frameVec.pushBack(frame);

} while (true);

//使用SpiteFrame列表创建动画对象

Animation * animation = Animation::createWithSpriteFrames(frameVec);

animation->setLoops(Loops);//设置是否循环

animation->setRestoreOriginalFrame(true);

animation->setDelayPerUnit(delay);//设置动画间隙

return animation;

}





Animation * AnimateUtil::createWithFrameNameAndNum(const char * name, int num, float delay, int Loops)

{

SpriteFrameCache * frameCache = SpriteFrameCache::getInstance();





SpriteFrame * frame = NULL;

Vector<SpriteFrame *> frameVec;

int index = 1;

for (int  i = 1; i <= num; i++)

{

frame = frameCache->getSpriteFrameByName(StringUtils::format("%s%d.png", name, index++));

if (frame ==NULL)

{

break;

}

frameVec.pushBack(frame);

}

Animation * animation = Animation::createWithSpriteFrames(frameVec);

animation->setLoops(Loops);

animation->setRestoreOriginalFrame(true);

animation->setDelayPerUnit(delay);

return animation;

}

Cocos2d-x动画工具类的更多相关文章

  1. Android两个页面之间的切换效果工具类

    import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; ...

  2. 实用工具类--第三方开源--Lazy

    下载地址 :https://github.com/ddwhan0123/Lazy 工具 描述 AnimationUtils 动画工具类 AppUtils APP相关信息工具类 AssetDatabas ...

  3. iOS开发--QQ音乐练习,旋转动画的实现,音乐工具类的封装,定时器的使用技巧,SliderBar的事件处理

    一.旋转动画的实现 二.音乐工具类的封装 -- 返回所有歌曲,返回当前播放歌曲,设置当前播放歌曲,返回下一首歌曲,返回上一首歌曲方法的实现 头文件 .m文件 #import "ChaosMu ...

  4. Android开源项目大全 - 工具类

    主要包括那些不错的开发库,包括依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本向低版本兼容.多媒体相关及其他. 一.依赖注入DI 通过依赖注入减少Vie ...

  5. Android 开源控件与常用开发框架开发工具类

    Android的加载动画AVLoadingIndicatorView 项目地址: https://github.com/81813780/AVLoadingIndicatorView 首先,在 bui ...

  6. Android快捷便利但不常被使用的原生工具类

    Android快捷便利但不常被使用的原生工具类 Android SDK原生 API中,有一些常用的工具类,运用得当可以省事省力省时,何况还是Android官方提供的,现在收集整理一些出来.DateUt ...

  7. Android 常见工具类封装

    1,MD5工具类: public class MD5Util { public final static String MD5(String s) { char hexDigits[] = { '0' ...

  8. 自己封装的工具类,使用原生SwipeRefreshLayout+RecycleView实现下拉刷新和加载更多

    实现SwipeRefreshLayout+RecycleView实现刷新 在你的xml文件里写上如下代码: <android.support.v4.widget.SwipeRefreshLayo ...

  9. 拍照、本地图片工具类(兼容至Android7.0)

    拍照.本地图片工具类:解决了4.4以上剪裁会提示"找不到文件"和6.0动态授予权限,及7.0报FileUriExposedException异常问题. package com.hb ...

随机推荐

  1. RAID5工作原理介绍

    RAID 5是一种存储性能.数据安全和存储成本兼顾的存储解决方案.以四个硬盘组成的RAID 5为例,其数据存储方式如图4所示:图中,P0为D0,D1和D2的奇偶校验信息,P1为D3,D4,D5的奇偶校 ...

  2. 【转】php里面也可以使用协程

    原文链接:http://blog.51cto.com/chinalx1/2089327 http://nikic.github.io/2012/12/22/Cooperative-multitaski ...

  3. Sqlserver2008相关配置问题

    一:ReportServices  无法连接Report Services 数据库服务 SSRS连接不了ReportServer (安装数据库的时候默认安装的一个报表服务数据库) 原因:装系统之后改了 ...

  4. Cognos值提示设置小技巧

    针对值提示问题做一个小的总结: 1:显示类问题 如上图,如何让”英文参数名"和"分割线----"不显示,或者说指定中文显示值呢 (1):让”英文参数名"和&qu ...

  5. (转)在ios android设备上使用 Protobuf (使用dll方式)

    自:http://game.ceeger.com/forum/read.php?tid=13479 如果你的工程可以以.Net 2.0 subset模式运行,请看这个帖子中的方法. 地址:http:/ ...

  6. (https专业版)2018年1月5日高仿互站仿友价T5虚拟交易+实物交易商城-站长交易源码送手机版程序10套模版+首页微信登陆+头部下拉导航

    (https专业版)2018年1月5日高仿互站仿友价T5虚拟交易+实物交易商城-站长交易源码送手机版程序10套模版+首页微信登陆+头部下拉导航 首页支持微信登陆,只有第8套模板支持(endv模板),后 ...

  7. tomcat 如何查看tomcat版本及位数

      tomcat 如何查看tomcat版本及位数 CreationTime--2018年8月31日10点16分 Author:Marydon 1.tomcat展示 2.具体操作 实现方式:在cmd命令 ...

  8. google kaptcha 验证码组件使用简介

    kaptcha 是一个非常实用的验证码生成工具.有了它,你可以生成各种样式的验证码,因为它是可配置的.kaptcha工作的原理是调用 com.google.code.kaptcha.servlet.K ...

  9. global语句(python学习手册422页)

    # -*- coding: cp936 -*- #python 27 #xiaodeng #global语句(python学习手册422页) #实际上就是一个名为__builtin__的模块,但是必须 ...

  10. java常见错误--Access restriction: The type BASE64Encoder

    Access restriction: The type BASE64Encoder is not accessible due to restrict 在Eclipse中编写Java代码时,用到了B ...