- 浏览: 212734 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
cuicici11:
cocos2dx 2.0版本在android下的安装配置问题 -
aofeilin:
你好:第二部为什么我不到呢?我一开始下载错了安装也许也错了。2 ...
整合cocos2d API文档到XCode中(转) -
浮生长恨:
only1 写道兄弟,不错,还看文学的书,我都好久没看过这类的 ...
我也说说今年已读的一些书-文艺篇 -
only1:
有些事是你经过了还知道的,比如你学习了ssh之类的,你还会知道 ...
学习心得 -
only1:
我也是这么说,还特地买了个域名搞了个空间,但是没能坚持下来了。 ...
开垦我的三分地
关于动画的各种操作,总结一下以便以后复习查找。
内容简要:
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、移动到 – CCMoveTo
2、移动– CCMoveBy
3、跳跃到 – CCJumpTo 设置终点位置和跳跃癿高度和次数。
4、跳跃 – CCJumpBy 设置终点位置和跳跃癿高度和次数。
5、贝塞尔 – CCBezierBy 支持3次贝塞尔曲线:P0-起点,P1-起点切线方向,P2-终 点切线方向,P3-终点。 首先设置定Bezier参数,然后执行。
6、放大到 – CCScaleTo 设置放大倍数,是浮点型。
7、放大 – CCScaleBy
8、旋转到 – CCRotateTo
9、旋转 – CCRotateBy
10、闪烁 – CCBlink 设定闪烁次数
11、色调变化到 – CCTintTo
12、色调变换 – CCTintBy
13、变暗到 – CCFadeTo
14、由无变亮 – CCFadeIn
15、由亮变无 – 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:30 jumps: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:20 jumps: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]];
动画-Animation
CCAnimation *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不断调整。
延时动作 - Delay
id ac1 = [CCMoveBy actionWithDuration:2 position:ccp(200, 200)];
id ac2 = [ac1 reverse];
// 实现一个等待间歇
[sprite runAction:[Sequence actions:ac1, [DelayTime actionWithDuration:1], ac2, nil]];
函数调用
id ac1 = [CCMoveBy actionWithDuration:2 position:ccp(200, 200)];
id ac2 = [ac1 reverse];
id acf = [CCCallFunc actionWithTarget:self selector:@selector(CallBack1)];
[sprite runAction:[CCSequence actions:ac1, acf, ac2, nil]];
1、带对象参数
id acf = [CallFuncN actionWithTarget:self selector:@selector(CallBack2:)];
- (void) CallBack2:(id)sender;
2、带对象、数据参数
id acf = [CCCallFuncND actionWithTarget:self selector:@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:12 delay:0.1];
CCAnimate* animate = [CCAnimate actionWithAnimation:anim];
CCSequence *seq = [CCSequence actions:animate,nil];
//动作放入speed中
CCSpeed *speed =[CCSpeed actionWithAction:[CCRepeatForever actionWithAction:seq] speed:1.0f];
[speed setTag:66];
[Sprite runAction:speed];
2、改变
CCSpeed *speed=(CCSpeed*)[sprite getActionByTag:66];
[speed setSpeed:0.5];//放慢原有速度的0.5倍
发表评论
-
cocos2dx 2.0版本在android下的安装配置问题
2012-10-25 14:30 8021最近因工作需要,要在XP下在配置android以及co ... -
修改CCLabelTTF行间距的办法
2012-10-18 17:22 8024因为策划需要修改文字面板上的行间距,看了一阵CCLabelT ... -
failed to attach to process ID <ID number>
2012-10-18 14:23 1777Anyone has experienced this pr ... -
关于最新的GoogleAdMobAdsSdk
2012-10-18 14:14 3799最近因为策划说要适应iphone5的尺寸,所以把Xcode4 ... -
android sdk manager安装SDK出现错误解决方法
2012-10-18 13:54 4258android sdk manager安装SDK出现错误,当打 ... -
(转)cocos2d的常用动作及效果总结之四:Special Actions
2012-08-08 21:59 1665Special Actions 个人理解包含三部分,一个是函数 ... -
(转)cocos2d的常用动作及效果总结之三:Ease actions
2012-08-08 21:56 2662Ease actions 影响的是动作的时间线性。 举个例子, ... -
(转)cocos2d的常用动作及效果总结之二:Composition actions
2012-08-08 21:47 6241上一篇整理了 basice action 基本动作的部分,这 ... -
(转)cocos2d的常用动作及效果总结之一: Basic actions
2012-08-08 21:19 3585在官方网站上,对cocos2d所提供的动作(action)转化 ... -
Cocos2d-音乐播放(转)
2012-08-02 23:00 3198原地址:http://blog.csdn.net/cwq994 ... -
连连看初始化设计
2012-08-02 22:41 1356连连看游戏的初始化的时候,如何保证初始化的图片是随机的而且是 ... -
Scene(场景)(转)
2012-08-01 22:56 2294[size=small;]原地址:[/size]http:// ... -
popScene也带效果(转)
2012-08-01 22:51 1519原地址:http://ityran.com/thread-11 ... -
Objective-C中一种消息处理方法performSelector: withObject:(转)
2012-08-01 22:45 1566原地址:http://www.cnblogs.com/buro ... -
Director(导演)(转)
2012-07-30 22:48 1048原地址:http://hi.baidu.com/y ... -
NSString与CGPoint、CGSize等结构体之间转换的API(转)
2012-07-30 22:45 1456原地址:http://blog.sina.com.cn/s/b ... -
CCProgressTimer(进度条)(转)
2012-07-30 22:41 1675原地址:http://hi.baidu.com/masonma ... -
Action(动作)(转)
2012-07-28 14:43 2256原地址:http://hi.baidu.com/you5a_c ... -
objective c 字符串各种处理(转)
2012-07-28 14:08 2787原地址:http://blog.csdn.net/dingku ... -
Cocos2d 有用的各种方法(转)
2012-07-28 13:56 1630原地址:http://blog.csdn.net/dingku ...
相关推荐
通过lua与cocos2d-x的结合,我们可以方便地调用底层的OpenGL ES功能,实现各种复杂的图形效果。 二、3D扑克模型 在构建翻牌特效前,首先需要创建3D扑克牌模型。这通常涉及到多边形建模,将平面的扑克牌图像映射到3D...
首先,Flash2Cocos2d-x 1.3支持对Flash ActionScript 2和3的转换,这意味着不仅静态的动画元素,连带复杂的交互逻辑也能被完整地转换过来。开发者可以利用Flash强大的动画编辑功能,创建出丰富的动态效果,然后在...
Cocos2d-x是一款强大的开源跨平台2D游戏开发框架,广泛应用于移动设备上的游戏...通过研究这个示例,你可以看到如何将Spine的数据结构映射到Cocos2d-x的游戏对象上,这对于其他类似的2D动画工具的集成也有指导意义。
1. `proj.android`、`proj.wp8-xaml`、`proj.linux`等项目文件夹代表了在不同平台上的项目配置,确保骨骼动画能在各种操作系统上运行。 2. `Resources`目录通常包含所有资源文件,如纹理、骨骼动画数据等,是实现...
本篇文章将深入探讨如何在cocos2d-x 3.2版本中利用cocos studio导出的帧动画资源,以及涉及到的相关知识点。 一、cocos2d-x简介 cocos2d-x是一个开源的游戏开发框架,基于C++编写,支持跨平台开发,包括iOS、...
cocos2d-x的动画资源素材,在cocos2d-x中添加如下代码使用: //动画 //创建一个缓存 auto cache = SpriteFrameCache::getInstance(); //先把图片读入内存 cache->addSpriteFramesWithFile("anim.plist"); ...
cocos2d-x不仅适用于游戏开发,还可以用于创建教育软件、互动媒体和其他2D图形应用,其强大的场景管理、精灵(Sprite)系统和粒子效果等功能,使得开发者能够快速构建各种复杂的2D场景。 总的来说,cocos2d-x 2.2.2...
cocos2d-x 3.0是cocos2d-x系列的一个重要升级,它基于C++编写,支持跨平台开发,包括iOS、Android、Windows等多个操作系统。该版本引入了新的渲染系统、性能提升、新的动画系统以及更友好的API,极大地提高了开发...
在3.13.1版本中,Cocos2d-x对Spine动画引擎的集成进行了更新,这是一项重要的改进,极大地提升了2D游戏中的角色动画表现力。 Spine是一款强大的骨骼动画工具,特别适合于制作2D游戏中的角色动画。它的3.6版本引入了...
2. **图形与动画**:讲解如何使用Cocos2d-x的绘图API绘制2D图形,实现精灵(Sprite)、动画(Animation)和粒子系统(Particle System)。 3. **物理引擎**:介绍Cocos2d-x内置的Box2D物理引擎,用于模拟游戏中的...
在Cocos2d-JS开发过程中,Cocos Studio是一个强大的工具,用于创建和编辑游戏资源,包括场景、精灵、动作以及动画。本教程将聚焦于如何在Cocos2d-JS项目中导入并使用Cocos Studio导出的帧动画资源。 1. **Cocos2d-...
此外,Cocos2d-x的社区活跃,许多知名公司如谷歌、微软、ARM、英特尔和黑莓的工程师都对其有所贡献。 Cocos2d-x系列还包括Cocos2d-html5,这是一个针对支持HTML5的浏览器设计的游戏引擎,适用于桌面、平板和移动...
在游戏性能方面,Cocos2d-JS提供了优化策略,如批处理渲染、纹理 atlases、预加载资源等,确保游戏在各种设备上运行流畅。同时,其跨平台特性使得开发者一次编写,即可部署到iOS、Android、Web等多个平台,大大节省...
Cocos2d-x是一个开源的游戏开发框架,广泛用于2D游戏、交互式教育应用和各种图形界面的开发。它的核心是用C++编写的,同时提供了Lua和JavaScript的绑定,让开发者可以选择不同的脚本语言进行游戏逻辑的编写。在本源...
在开发过程中,你可以利用Cocos2d提供的各种组件,如`CCScene`(场景)、`CCSprite`(精灵)、`CCLabel`(文本标签)等,创建游戏对象和交互逻辑。同时,别忘了Cocos2d支持事件处理,如触摸事件和键盘事件,这使得...
`CCAnimate`是cocos2d-x中处理2D动画的核心类,它能播放SpriteSheet或Animation Cache中的动画帧序列。在创建动画时,我们需要先将一系列静态图像打包成SpriteSheet,或者通过Animation Cache加载预先定义好的动画。...
10. **性能优化**:Cocos2d-x 3.1对内存管理和渲染效率进行了优化,以确保在不同设备上的流畅运行。 11. **脚本支持**:虽然3.1版本主要以C++为主,但Cocos2d-x也支持Lua和JavaScript,允许开发者选择更适合自己的...
3. **动作(Actions)与效果**:Cocos2d-x的动作系统允许开发者对游戏对象施加各种效果,如移动、旋转、缩放、淡入淡出等,实现丰富的视觉表现。 4. **物理引擎集成**:可能包含Box2D或Chipmunk等物理引擎的集成,...
3. **动画系统**:cocos2d-x提供了强大的动画工具,如基于时间的关键帧动画,可以实现平移、旋转、缩放等各种复杂的运动效果。 4. **物理引擎集成**:通过Box2D或Chipmunk物理引擎,cocos2d-x允许开发者创建具有...
《cocos2d-x 2.1.4:探索移动游戏开发的新篇章》 cocos2d-x 是一个跨平台的2D游戏开发框架,它为开发者提供了强大的工具和技术支持,使得游戏开发变得更为便捷。2.1.4 版本是这个框架的一个重要里程碑,它在前一...