关于动画的各种操作,总结一下以便以后复习查找。
内容简要:
1、瞬时动作2、延时动作 3、组合动作
4、动画
5、速度变化6、函数调用7、创建动作动画8、控制动画帧的速度
原文地址:http://blog.csdn.net/dingkun520wy/article/details/7014233
-----------------------------------------------------------------------------------------------------------------------------------------------------
瞬时动作:瞬时动作的基类是InstantAction
1、放置位置 CGPoint p = ccp(width,height); [sprite runAction:[CCPlace actionWithPosition:p]];2、隐藏 [sprite runAction:[CCHide action]];3、显示 [sprite runAction:[CCShow action]];(效果类似亍 [node setVisible:YES]. 之所以作为一个劢作来实现是为了可以不其他劢作形成一个连续劢作)4、可见切换 [sprite runAction:[CCToggleVisibility action]];延时动作:延时动作的基类是CCIntervalAction 函数命名规则:XxxxTo: 意味着运劢到指定癿位置。XxxxBy:意味着运劢到按照指定癿x、y增量癿位置。(x、y可以是负值)1、移动到 – CCMoveTo2、移动– CCMoveBy3、跳跃到 – CCJumpTo 设置终点位置和跳跃癿高度和次数。4、跳跃 – CCJumpBy 设置终点位置和跳跃癿高度和次数。5、贝塞尔 – CCBezierBy 支持3次贝塞尔曲线:P0-起点,P1-起点切线方向,P2-终
点切线方向,P3-终点。首先设置定Bezier参数,然后执行。6、放大到 – CCScaleTo 设置放大倍数,是浮点型。7、放大 – CCScaleBy8、旋转到 – CCRotateTo9、旋转 – CCRotateBy10、闪烁 – CCBlink 设定闪烁次数11、色调变化到 – CCTintTo12、色调变换 – CCTintBy13、变暗到 – CCFadeTo14、由无变亮 – CCFadeIn15、由亮变无 – CCFadeOut
组合动作:1、序列-CCSequence// 创建5个劢作 id ac0 = [sprite runAction:[CCPlace actionWithPosition:p]]; id ac1 = [CCMoveTo actionWithDuration:2 position:ccp(50,50)]; id ac2 = [CCJumpTo actionWithDuration:2 position:ccp(150,50) height:30jumps:5]; id ac3 = [CCBlink actionWithDuration:2 blinks:3]; id ac4 = [CCTintBy actionWithDuration:0.5 red:0 green:255 blue:255]; //将5个劢作组合为一个序列,注意丌要忘了用nil结尾。 [sprite runAction:[CCSequence actions:ac0, ac1, ac2, ac3,ac4, ac0, nil]];2、同步-Spawn // 同步 劢作和组合劢作 以形成一个连续癿新劢作 [sprite runAction:[CCSpawn actions:ac1, ac2, seq, nil]];3、重复有限次数 -Repeate // 创建劢作序列 id ac1 = [CCMoveTo actionWithDuration:2 position:ccp( 50,50)]; id ac2 = [CCJumpBy actionWithDuration:2 position:ccp(-400, -200)height:30 jumps:5]; id ac3 = [CCJumpBy actionWithDuration:2 position:ccp(2, 0) height:20jumps:3]; id seq = [CCSequence actions:ac1, ac2, ac3, nil]; // 重复运行上述劢作序列3次。 [sprite runAction:[CCRepeat actionWithAction:seq times:3]];4、作-Reverse作就是反向(逆向)执行某个动作,支持针对动作序列癿反劢作序列。作不是一个与门的类,而是CCFiniteAction引入的一个接口。不是所有的类都支持作,XxxxTo类通常不支持作,XxxxBy类通常支持。id ac1 = [CCMoveBy actionWithDuration:2 position:ccp(190,220)];// 创建某个动作的作。 id ac2 = [ac1 reverse];[sprite runAction:[CCRepeat actionWithAction:[CCSequence actions:ac1,ac2,nil] times:2]];动画-AnimationCCAnimation *animation = [AtlasAnimation animationWithName:@"flight"delay:0.2f]; // 每帧癿内容定义。 for(int i=0;i<3;i++) { int x= i % 3; [animation addFrameWithRect: CGRectMake(x*32, 0, 31, 30) ]; } // 执行劢画效果 id action = [CCAnimate actionWithAnimation: animation]; [sprite runAction:[CCRepeat actionWithAction:action times:10]];无限重复 - RepeatForever// 将该动画作为精灵的本征动画,一直运行。 [sprite runAction:[RepeatForever actionWithAction:action]];速度变化1、EaseIn 由慢至快。2、EaseOut 由快至慢3、EaseInOut 由慢至快再由快至慢。4、EaseSineIn 由慢至快。5、EaseSineOut 由快至慢6、EaseSineInOut 由慢至快再由快至慢。7、EaseExponentialIn 由慢至极快。8、EaseExponentialOut 由极快至慢。9、EaseExponentialInOut 由慢至极快再由极快至慢。10、Speed 人工设定速度,还可通过SetSpeed不断调整。延时动作 - Delayid ac1 = [CCMoveBy actionWithDuration:2 position:ccp(200, 200)];id ac2 = [ac1 reverse];// 实现一个等待间歇[sprite runAction:[Sequence actions:ac1, [DelayTimeactionWithDuration:1], ac2, nil]];函数调用 id ac1 = [CCMoveBy actionWithDuration:2 position:ccp(200,200)]; id ac2 = [ac1 reverse]; id acf = [CCCallFunc actionWithTarget:selfselector:@selector(CallBack1)]; [sprite runAction:[CCSequence actions:ac1, acf, ac2,nil]];1、带对象参数id acf = [CallFuncN actionWithTarget:selfselector:@selector(CallBack2:)];- (void) CallBack2:(id)sender;2、带对象、数据参数id acf = [CCCallFuncND actionWithTarget:selfselector:@selector(CallBack3:data:) data:(void*)2];-(void) CallBack3:(id)sender data:(void*)data;创建动作1、利用文件名CCAnimation*anim=[CCAnimationanimationWithFile:@"Jun"frameCount:12delay:0.1];CCAnimate* animate = [CCAnimate actionWithAnimation:anim];CCSequence *seq = [CCSequence actions:animate,nil];CCRepeatForever* repeat = [CCRepeatForever actionWithAction:seq];[sprite runAction:repeat];2、利用缓存[[CCSpriteFrameCache sharedSpriteFrameCache]addSpriteFramesWithFile:@"Jun.plist"]; anim=[CCAnimation animationWithFrame:@"Jun" frameCount:12 delay:0.1];animate = [CCAnimate actionWithAnimation:anim];seq = [CCSequence actions:animate,nil];repeat = [CCRepeatForever actionWithAction:seq];[sprite runAction:repeat];控制动作的速度1、创建[[CCSpriteFrameCache sharedSpriteFrameCache]addSpriteFramesWithFile:@"Jun.plist"];CCSprite*sprite=[CCSprite spriteWithSpriteFrameName:@"Jun1.png"];sprite.position=ccp(200,200);[self addChild:sprite];CCAnimation*anim=[CCAnimation animationWithFrame:@"Jun" frameCount:12delay:0.1];CCAnimate* animate = [CCAnimate actionWithAnimation:anim];CCSequence *seq = [CCSequence actions:animate,nil];//动作放入speed中CCSpeed *speed =[CCSpeed actionWithAction:[CCRepeatForeveractionWithAction:seq] speed:1.0f];[speed setTag:66];[Sprite runAction:speed];2、改变CCSpeed *speed=(CCSpeed*)[sprite getActionByTag:66];[speed setSpeed:0.5];//放慢原有速度的0.5倍
分享到:
相关推荐
cocos2d-x的动画资源素材,在cocos2d-x中添加如下代码使用: //动画 //创建一个缓存 auto cache = SpriteFrameCache::getInstance(); //先把图片读入内存 cache->addSpriteFramesWithFile("anim.plist"); ...
cocos2d-x 动画工具 Flash2Cocos2d-x 1.3
cocos2d-x 3.2 使用cocos studio导出的帧动画所用资源
在网上找的Cocos2d 版 关节动画工具(类似 国内的Cocos2d-x 版) 英文参考: This tool provides a fast way of reusing animations made in Flash CS in Cocos2D projects. A minimaly tweaked version of the ...
cocos2d-x 动画演示 源码
第1章 开始前的准备工作 1 第2章 你的第一款iPhone游戏:垂直射击游戏 38 第3章 Cocos2D核心类 69 第4章 Cocos2D中的动作、特效与动画 152 第5章 Cocos2D中的文本渲染系统 229 共19章
cocos2d-x实战项目 01.cocos2d-x原理及环境配置.rar 03.cocostudio使用方法及UI控制.rar 04.XML文件读取与骨骼动画.rarcocos2d-x实战项目 01.cocos2d-x原理及环境配置.rar 03.cocostudio使用方法及UI控制.rar 04.XML...
Cocos2d-JS中使用Cocos Studio资源05:帧动画 动画资源,代码
cocos2d资料大全,里面有丰富的资源,游戏引擎是一种特殊的软件,它提供游戏开发时需要的常见功能;引擎会提供许多组件,使用这些组件能缩短开发时间,让游戏开发变得更简单;专业引擎通常会能比自制引擎表现出更好的...
cocos2d-x 3.0 骨骼动画 demo 以及注意事项
cocos2d-x 3.x的一个动画demo,单击文本标签执行一个游戏人物放大招的动画。内有资源和效果图。
感觉4个人开发游戏真的很累,游戏为了脱颖出更加真实的效果还使用了物理引擎,在老大的同意的情况下,我共享cocos2d自己写的一些大家比较常用的,因为cocos2d有些控件不怎么好用或者没有,反正我觉得是这样的。...
cocos2d-x 上面用的一个帧动画播放器类 用系统的动作播放动画总感觉不自在,所以自己写了一个,给需要的朋友用用吧。 主要功能: 1:普通动画播放 2:聚合多个动画 3:制定停留哪一个动画的哪一帧 4:停止,继续播放,...
cocos2d-x使用cocosbuilder骨骼动画例子
实战案例 教程内容:1.COCOS2D 飞机大战 实战案例-项目简介2.COCOS2D 飞机大战 实战案例-改变项目场景大小3.COCOS2D 飞机大战 实战案例-欢迎界面背景4.COCOS2D 飞机大战 实战案例-加入游戏logou动画5.COCOS2D 飞机...
COCOS2D-X中所使用的骨骼动画文件
第五章主要介绍Cocos2d-x核心技术,这里包括Cocos2d-x的核心类CCDirector、CCScene、CCNode、CCLayer、CCSprite、CCAction等,通过案例来介绍Cocos2d-x的场景、图层、交互、动作、动画、粒子效果、游戏地图、物理...
cocos2d-x更新图层上的N多怪物站立动画
学习cocos2d-x的代码资源,VS2010运行通过,碰撞检测、瓦片地图、动画等等。