cocos2d-3.x 创建动画
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 创建动画的更多相关文章
- Cocos2d-X使用CCAnimation创建动画
动画在游戏中是很常见的 程序1:创建一个简单的动画 首先须要在project文件夹下的Resource文件夹中放一张有各种不同动作的图片 在程序中加入以下的代码 #include "Anim ...
- cocos2dx中创建动画的三种方法
1.最最原始的方法,先创建动画帧,再创建动画打包(animation),再创建动画(animate) 第一步: 创建动画帧:CCSpriteFrame,依赖于原始的资源图片(xx.png,xx.jpg ...
- wpf 创建动画三种方式
动画类型 : 故事版,CompositionTarget,DispachTime 那么到此,三种动态创建动画的方法都已经详细介绍过了,大家可能会有种感觉,比较钟情于第一种WPF/Silverlight ...
- 《Programming WPF》翻译 第8章 5.创建动画过程
原文:<Programming WPF>翻译 第8章 5.创建动画过程 所有在这章使用xaml举例说明的技术,都可以在代码中使用,正如你希望的.可是,代码可以使用动画在某种程度上不可能在x ...
- UWP 创建动画的极简方式 — LottieUWP
提到 UWP 中创建动画,第一个想到的大多都是 StoryBoard.因为 UWP 和 WPF 的界面都是基于 XAML 语言的,所以实现 StoryBoard 会非常方便. 来看一个简单的 Stor ...
- WPF/WP/Silverlight/Metro App代码创建动画的思路
在2010年之前,我都是用Blend创建动画,添加触发器实现自动动画,后来写成代码创建的方式.如今Blend已经集成到Visual Studio安装镜像中了,最新的VS2015安装,Blend的操作界 ...
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(九):创建动画
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- cocos2d环境及创建一个自己的项目
一. mac环境: 1.在终端操作,准备好mac系统下的sdk,adt,ndk,ant文件,放在自己的目录中 2.进入mac终端,输入: vim ~/.bash_profile 然后回 ...
- [UE4]创建动画的3中方法
一.基于现有动画的骨骼,从头开始创建一个全新的动画.(不推荐) 选中左边的骨骼节点做旋转变化. 调整完成了别忘记点击添加“Key”以创建一个关键帧,然后再保存. 二.基于当前动画的姿势创建一个动画.( ...
随机推荐
- javascript代码实现简单的五星评价功能!
<script type="text/javascript"> //★ var spans=document.getElementsByTagName("sp ...
- 结构-行为-样式-angularJs 指令解决IE下无PlaceHolder的问题
最近项目开发的时候遇到一个头疼的问题,在测试IE兼容性的时候,发现placeholder在IE下无效.查网上说也是有各种解决方案,但是都不是我想要的,于是决定自己写一个.思路:placeHolder是 ...
- JavaScript的对象与Json
JSON有非常严格的语法,在string上下文里{ "prop": "val" } 是个合法的JSON,但{ prop: "val" }和{ ...
- HTML target 属性
定义和用法 <a> 标签的 target 属性规定在何处打开链接文档. 如果在一个 <a> 标签内包含一个 target 属性,浏览器将会载入和显示用这个标签的 href 属性 ...
- (十一)if...else&for循环&while循环
----------------------------------if else------------------------------1.最基本的if语句:if name =="Al ...
- Gpt转mbr
1)Shift + F10 2)diskpart 3)list disk 4)select dist 0 5)clean 6)convert mbr [注]mbr常用于windows操作系统,而gpt ...
- JS正则表达式之特殊符号
在正则表达式中,许多标点符号具有特殊含义,比较难记,现归纳备个份: 这些符号有:^ $ . * + - ? = ! : | \ / ( ) [ ] { } 1."[ ]"表示字符 ...
- node-canvas
1.使用之前需要预先安装 Cairo 本人安装遇到各种各样的坑,可以参考这里来填坑:https://github.com/Automattic/node-canvas/wiki/Installati ...
- 微信js-sdk调用
之前在做微信的时候,在微信支付还有调起微信扫一扫的时候,用过js-sdk.最近,被几个做前端的同学问到了具体的流程,想想,还是写下来好点. 微信js-sdk,是微信提供给网页开发设计者使用的, ...
- Gentoo/Arch常用软件配置
## Desktop Environment ### GNOME ### KDE ### LXDE ### Xfce ## Window Managers ### dwm x11-wm/dwm ### ...