1.多文件帧序列动画

TrademarkAnimation.h

#ifndef __TRADEMARK_ANIMATION_H__
#define __TRADEMARK_ANIMATION_H__
#include "cocos2d.h"
USING_NS_CC; class TrademarkAnimation : public cocos2d::CCLayer{
private:
Animate* createAnimate();
public :
~TrademarkAnimation();
virtual bool init(); CREATE_FUNC(TrademarkAnimation);
};
#endif

TrademarkAnimation.cpp

#include "TrademarkAnimation.h"

bool TrademarkAnimation::init(){
if(!CCLayer::init())return false;
Sprite* runSp=Sprite::create();
runSp->setPosition(Point(,));
this->addChild(runSp); runSp->runAction(createAnimate());
return true;
} Animate* TrademarkAnimation::createAnimate(){
int totalFrames=;
SpriteFrame* frame=NULL;
Vector<SpriteFrame*> frameVec; for(int i=;i<=totalFrames;i++){
//tdmark/tdmark0001.png....tdmark/tdmark0319.png
frame=SpriteFrame::create(StringUtils::format("tdmark/tdmark%04d.png",i),Rect(,,,));
frameVec.pushBack(frame);
} Animation* animation=Animation::createWithSpriteFrames(frameVec);
animation->setLoops(-);
animation->setDelayPerUnit(0.04f);//: 1/帧频 Animate* action=Animate::create(animation);
return action;
} TrademarkAnimation::~TrademarkAnimation(){ }

 2.plist文件创建动画

#include "TrademarkAnimation.h"

bool TrademarkAnimation::init(){
if(!CCLayer::init())return false; Size size=Director::getInstance()->getVisibleSize();
Sprite* runSp=Sprite::create();
runSp->setPosition(size.width*0.5,size.height*0.5);
this->addChild(runSp);
runSp->runAction(createAnimate());
return true;
} Animate* TrademarkAnimation::createAnimate(){
//如果flash出图,设置:
//Algorithm: Basic/MaxRects
//Data format: cocos2D v2
//Trim: false
//Stack frames: false
SpriteFrameCache* frameCache=SpriteFrameCache::getInstance();
frameCache->addSpriteFramesWithFile("trademark.plist","trademark.png"); //或 frameCache->addSpriteFramesWithFile("trademark.plist"); int totalFrames=;
SpriteFrame* frame=NULL;
Vector<SpriteFrame*> frameVec;
for(int i=;i<totalFrames;i++){
//T1 instance 10000.......T1 instance 10318
frame=frameCache->getSpriteFrameByName(StringUtils::format("T1 instance 1%04d",i));
frameVec.pushBack(frame);
} Animation* animation=Animation::createWithSpriteFrames(frameVec);
animation->setLoops(-);
animation->setDelayPerUnit(0.04f); Animate* action=Animate::create(animation);
return action;
} TrademarkAnimation::~TrademarkAnimation(){ }

cocos2d-3.x 创建动画的更多相关文章

  1. Cocos2d-X使用CCAnimation创建动画

    动画在游戏中是很常见的 程序1:创建一个简单的动画 首先须要在project文件夹下的Resource文件夹中放一张有各种不同动作的图片 在程序中加入以下的代码 #include "Anim ...

  2. cocos2dx中创建动画的三种方法

    1.最最原始的方法,先创建动画帧,再创建动画打包(animation),再创建动画(animate) 第一步: 创建动画帧:CCSpriteFrame,依赖于原始的资源图片(xx.png,xx.jpg ...

  3. wpf 创建动画三种方式

    动画类型 : 故事版,CompositionTarget,DispachTime 那么到此,三种动态创建动画的方法都已经详细介绍过了,大家可能会有种感觉,比较钟情于第一种WPF/Silverlight ...

  4. 《Programming WPF》翻译 第8章 5.创建动画过程

    原文:<Programming WPF>翻译 第8章 5.创建动画过程 所有在这章使用xaml举例说明的技术,都可以在代码中使用,正如你希望的.可是,代码可以使用动画在某种程度上不可能在x ...

  5. UWP 创建动画的极简方式 — LottieUWP

    提到 UWP 中创建动画,第一个想到的大多都是 StoryBoard.因为 UWP 和 WPF 的界面都是基于 XAML 语言的,所以实现 StoryBoard 会非常方便. 来看一个简单的 Stor ...

  6. WPF/WP/Silverlight/Metro App代码创建动画的思路

    在2010年之前,我都是用Blend创建动画,添加触发器实现自动动画,后来写成代码创建的方式.如今Blend已经集成到Visual Studio安装镜像中了,最新的VS2015安装,Blend的操作界 ...

  7. Cocos2D iOS之旅:如何写一个敲地鼠游戏(九):创建动画

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  8. cocos2d环境及创建一个自己的项目

    一. mac环境:     1.在终端操作,准备好mac系统下的sdk,adt,ndk,ant文件,放在自己的目录中     2.进入mac终端,输入: vim ~/.bash_profile 然后回 ...

  9. [UE4]创建动画的3中方法

    一.基于现有动画的骨骼,从头开始创建一个全新的动画.(不推荐) 选中左边的骨骼节点做旋转变化. 调整完成了别忘记点击添加“Key”以创建一个关键帧,然后再保存. 二.基于当前动画的姿势创建一个动画.( ...

随机推荐

  1. SQL性能优化注意事项

    1.选用适合的Oracle优化器 Oracle的优化器共有3种: a.RULE(基于规则) b.COST(基于成本) c.CHOOSE(选择性) 设置缺省的优化器,可以通过对init.ora文件中OP ...

  2. Extjs的GridPanel分页前后台完整代码实例

    第一次写文章啊,有些冲动.最近在公司学习Extjs,做了一个分页的小实例和大家分享. 1.首先编写paging-grid.js文件,这是我在网上参考的例子改写的,大同小异. Ext.onReady(f ...

  3. hdu1040

    #include<stdio.h>#include<stdlib.h>int a[100];int cmp(const void *a,const void *b){ retu ...

  4. libguestfs-tools 虚拟机磁盘管理工具

    libguestfs-tools虚拟机磁盘管理工具: 官网:http://libguestfs.org/ 这是一个非常强大的虚拟机磁盘管理工具,该工具包内包含的工具有virt-cat.virt-df. ...

  5. 使用java连接MySql,中文乱码解决的方法

    排查MySql中文乱码的问题 1.在cmd中启动MySql. 打开命令提示符cmd,输入"mysql -uusername -ppassword",回车,就可以连接到数据库. 如输 ...

  6. Maven之(三)Maven插件

    Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,像编译是通过maven-compile-plugin实现的.测试是通过maven-surefire-p ...

  7. 问题记录2:TypeError: write() argument must be str, not bytes

    今天试了下用requests模块的get()方法来下载图片,写入文件的时候不能写入二进制,然后将打开方式改成二进制的就好了. 原因是,f.content的存储方式是二进制,而文件正常打开默认是字符串的 ...

  8. [Android]Android SDk Manager中创建模拟器无法选择CPU问题解析

    方法一.正常下载所需sdk包 启动 Android SDK Manager ,打开主界面,依次选择「Tools」.「Options...」,弹出『Android SDK Manager - Setti ...

  9. python绝技 — 用Scapy测试无线网卡的嗅探功能

    代码 #!/usr/bin/python #--*--coding=utf-8--*-- from scapy.all import * def pktPrint(pkt): if pkt.hasla ...

  10. CentOS 6.5安装PostgreSQL9.3.5时报错: jade: Command not found

    CentOS 6.5安装PostgreSQL9.3.5时报错: jade: Command not found 1[root@pghost1 postgresql-9.3.5]# ./configur ...