cocos2D(九)---- CCAction

CocosCreator动作系统遇到的坑 1:cc. fadeIn,cc.fadeOut渐隐渐显效果,调用这个两个api的时候必须要先把node的alpha对应的设置为255,0不然调用这两个API会无效 2:cc.bezierTo,使用贝塞尔曲线的时候需要吧node的位置设置到起始位置,不然轨迹不会从起始位置开始动,会从从你当前node的位置开始移动 3:cc.callFunc动作回调,这个坑最大: 官方的API: !#zh 执... 阅读详情

之前介绍CCNode的时候说过,动作是指在特定时间内完成移动、缩放、旋转等操作的行为,节点可以通过运行动作来实现动画效果,这里的动作就是指CCAction对象,它有很多的子类,每个子类都封装了不同的动作效果。

先来看看CCAction的继承结构图

这里我省略了瞬时动作(CCActionInstant)和间隔动作(CCActionInterval)的子类,因为它们又包含了非常多的子类,待会再介绍它们的子类。

CCAction和CCFiniteTimeAction都是抽象类,只定义了一些基本属性和方法,没有实际用途,我们需要使用它们的子类来初始化动作,然后运行到节点上。


间隔动作

间隔动作就是指需要经过一段时间才能完成的动作,所有的间隔动作 都继承自CCActionInterval。比如CCRotateBy, 可以在指定时间内旋转指定的角度

[java]  view plain copy
  1. // 1秒内顺时针旋转360°  
  2. CCRotateBy *rotate = [CCRotateBy actionWithDuration:1 angle:360];  
  3. [sprite runAction:rotate];  


间隔动作的继承结构图:(只列出部分常用的)


由于CCActionInterval的子类太多了,这里就不一一介绍了,可以查阅下API文档

下面列举一下常见的CCActionInterval的子类:

1.CCBlink

闪烁效果

[java]  view plain copy
  1. // 5秒内闪烁20次  
  2. CCBlink *blink = [CCBlink actionWithDuration:5 blinks:20];  
  3. [sprite runAction:blink];  

2.CCMoveBy和CCMoveTo

CCMoveBy是移动一段固定的距离,CCMoveTo是移动到指定的位置

[java]  view plain copy
  1. // 在1秒内,向右移动100单位,同时向上移动80单位  
  2. CCMoveBy *moveBy = [CCMoveBy actionWithDuration:1 position:CGPointMake(100, 80)];  

[java]  view plain copy
  1. // 在1秒内,从节点的当前位置移动到(100, 80)这个位置  
  2. CCMoveTo *moveTo = [CCMoveTo actionWithDuration:1 position:CGPointMake(100, 80)];  

3.CCRotateBy和CCRotateTo

CCRotateBy是在当前旋转角度的基础上再旋转固定的角度,CCRotateTo是从当前旋转角度旋转到指定的角度

假设精灵在初始化的时候已经顺时针旋转了 45°

[java]  view plain copy
  1. sprite.rotation = 45;  


如果使用了CCRotateBy

[java]  view plain copy
  1. CCRotateBy *rotateBy = [CCRotateBy actionWithDuration:1 angle:90];  
  2. [sprite runAction:rotateBy];  
  3.   
  4. // 在1秒内,再顺时针旋转90°,那么sprite的最终旋转角度是45° + 90° = 135°  

如果使用了CCRotateTo
[java]  view plain copy
  1. CCRotateTo *rotateTo = [CCRotateTo actionWithDuration:1 angle:90];  
  2. [sprite runAction:rotateTo];  
  3.   
  4. // 在1秒内,顺时针旋转到90°,sprite的最终旋转角度就是90°  

4.CCScaleBy和CCScaleTo

CCScaleBy是在当前缩放比例的基础上再缩放固定的比例,CCScaleTo是从当前缩放比例缩放到指定的比例

假设精灵在初始化的时候的缩放比例为0.8

[java]  view plain copy
  1. sprite.scale = 0.8;  

如果使用了 CCScaleBy
[java]  view plain copy
  1. CCScaleBy *scaleBy = [CCScaleBy actionWithDuration:1 scale:0.5];  
  2. [sprite runAction:scaleBy];  
  3. // 在1秒内,宽度和高度再缩小50%,那么sprite最终缩放比例是0.8 * 0.5 = 0.4  

如果使用了 CCScaleTo

[java]  view plain copy
  1. CCScaleTo *scaleTo = [CCScaleTo actionWithDuration:1 scale:0.5];  
  2. [sprite runAction:scaleTo];  
  3. // 在1秒内,宽度和高度缩小为0.5倍,那么sprite最终缩放比例是就0.5  

5.CCFadeIn和CCFadeOut和CCFadeTo

CCFadeIn是淡入,即由暗转亮,从没有到有;CCFadeOut是淡出,即由亮转暗,从有到没有;CCFadeTo用来修改节点的不透明度

[java]  view plain copy
  1. // 在2秒内,从没有到有  
  2. CCFadeIn *fadeIn = [CCFadeIn actionWithDuration:2];  
  3.   
  4. // 在2s内,从有到没有  
  5. CCFadeOut *fadeOut = [CCFadeOut actionWithDuration:2];  
  6.   
  7. // 在2s内,不透明度变为120,即变为半透明 (不透明度取值范围是0-255)  
  8. CCFadeTo *fadeTo = [CCFadeTo actionWithDuration:2 opacity:120];  


6.CCRepeat

重复执行某个动作,可以指定重复的次数

[java]  view plain copy
  1. // 1秒中顺时针旋转360°  
  2. CCRotateBy *rotateBy = [CCRotateBy actionWithDuration:1 angle:360];  
  3. // 重复执行2次旋转动画  
  4. CCRepeat *repeat = [CCRepeat actionWithAction:rotateBy times:2];  
  5.   
  6. [sprite runAction:repeat];  

7.CCAnimate

按顺序地播放图片,可以实现帧动画。

例如有下面10张图片:(玩过街机的同学应该很熟悉,赵云的大鹏展翅)

不难发现,如果从1.png 到 10.png按顺序显示图片的话会形成一个动画

下面用CCAnimate实现动画效果

[java]  view plain copy
  1. // 用来存放所有的帧  
  2. NSMutableArray *frames = [NSMutableArray array];  
  3. // 加载所有的图片  
  4. for (int i = 1; i<= 10; i++) {  
  5.     // 文件名  
  6.     NSString *name = [NSString stringWithFormat:@"zy.bundle/%i.png", i];  
  7.     // 根据图片名加载纹理,一个图片对应一个纹理对象  
  8.     CCTexture2D *texture = [[CCTextureCache sharedTextureCache] addImage:name];  
  9.     // 根据纹理初始化一个帧  
  10.     CGRect retct = CGRectMake(0, 0, texture.contentSize.width, texture.contentSize.height);  
  11.     CCSpriteFrame *frame = [[[CCSpriteFrame alloc] initWithTexture:texture rect:retct] autorelease];  
  12.     // 添加帧到数组中  
  13.     [frames addObject:frame];  
  14. }  
  15.   
  16. // 根据帧数组初始化CCAnimation,每隔0.1秒播放下一张图片  
  17. CCAnimation *animation = [CCAnimation animationWithFrames:frames delay:0.1];  
  18.   
  19. // 根据CCAnimation对象初始化动作  
  20. CCAnimate *animate = [CCAnimate actionWithAnimation:animation];  
  21.   
  22. [sprite runAction:animate];  
动画效果如下:

这里是将10帧分为10张不同的png图片。为了性能着想,其实最好将10帧打包成一个图片,到时从这张图片上面切割每一帧,这种图片我们可以称为"纹理相册",可以用TexturePacker制作纹理相册


8.CCSequence

一般情况下,如果给节点同时添加几个动作时,它们会同时运行。比如下面的代码效果是一边旋转一边缩放

[java]  view plain copy
  1. CCRotateBy *rotateBy = [CCRotateBy actionWithDuration:1 angle:360];  
  2. CCScaleBy *scaleBy = [CCScaleBy actionWithDuration:1 scale:2];  
  3.   
  4. [sprite runAction:rotateBy];  
  5. [sprite runAction:scaleBy];  
但是有时候我们想让动作一个接着一个运行,那么就要用到 CCSequence
下面演示的效果是,让精灵先变为红色,再从红色变为绿色,再从绿色变为蓝色

[java]  view plain copy
  1. CCTintTo *tintTo1 = [CCTintTo actionWithDuration:1 red:255 green:0 blue:0];  
  2. CCTintTo *tintTo2 = [CCTintTo actionWithDuration:1 red:0 green:255 blue:0];  
  3. CCTintTo *tintTo3 = [CCTintTo actionWithDuration:1 red:0 green:0 blue:255];  
  4. // CCTintTo也是CCActionInterval的子类,可以用于更改精灵的颜色。  
  5.   
  6. CCSequence *sequence = [CCSequence actions:tintTo1, tintTo2, tintTo3, nil];  
  7. [sprite runAction:sequence];  
CCSequence会 按顺序执行参数中传入的所有动作


9.CCActionEase

当对节点使用CCMoveTo动作时,它会匀速移动到目的地,如果使用CCActionEase就可以使节点由慢到快或者由快到慢地移向目的地。因此CCActionEase是用来改变动作的运行时速度的。

CCActionEase是个非常强大的类,子类非常多,这里只说明其中的几个:

CCEaseIn:由慢到快

CCEaseOut:由快到慢

CCEaseInOut:先由慢到快,再由快到慢

举个代码例子:

[java]  view plain copy
  1. CCMoveTo *moveTo = [CCMoveTo actionWithDuration:4 position:ccp(300, 200)];  
  2. CCEaseInOut *easeInOut = [CCEaseInOut actionWithAction:moveTo rate:5];  
  3. [sprite runAction:easeInOut];  
你会看到精灵先由慢到快,再由快到慢。rate参数决定了速率变化的明显程度,当它大于1时才 有效


10.CCGridAction

使用CCGridAction的具体子类可以实现三维效果,例如翻页效果(CCPageTurn3D)、波浪效果(CCWaves)、流体效果(CCLiquid)。虽然能实现很好看的3D效果,但是它有很大的缺点,如果不启用深度缓冲,3D效果会有些失真,如果启用了深度缓冲,会特别耗内存。

如果想开启深度缓冲的话,就要修改EAGLView的初始化参数depthFormat:

[java]  view plain copy
  1. EAGLView *glView = [EAGLView viewWithFrame:[window bounds]  
  2.                                    pixelFormat:kEAGLColorFormatRGB565     
  3.                                    depthFormat:GL_DEPTH_COMPONENT24_OES];  
可以改 为GL_DEPTH_COMPONENT16_OES(16位深度缓冲)或者GL_DEPTH_COMPONENT24_OES(24位深度缓冲),16位 深度缓冲占用的内存较少,但是仍然会有些失真


瞬时动作

瞬时动作(CCActionInstant)是指能够瞬间完成的动作,可用于改变节点位置、翻转节点形成镜像、设置节点的可视性等。

下面大致看下瞬时动作的继承结构图:


看完这个图,你可能觉得CCActionInstant好像没有一点使用价值,因为它的好多动作都可以通过修改节点属性来完成。比如可以通过设置节点的visible属性来代替使用CCShow\CCHide\CCToggleVisibility、可以通过修改节点的position属性来代替使用CCPlace。其实当它们与CCSequence结合使用时才有价值。比如,我们想先让节点运行一个CCMoveTo移动到某个位置,移动完毕后再隐藏节点,这时候我们就可以将CCMoveTo、CCHide两个动作按顺序放进CCSequence中达到想要的效果。

[java]  view plain copy
  1. // 移动到(300, 200)  
  2. CCMoveTo *moveTo = [CCMoveTo actionWithDuration:2 position:ccp(300, 200)];  
  3. // 隐藏节点  
  4. CCHide *hide = [CCHide action];  
  5.   
  6. CCSequence *sequence = [CCSequence actions:moveTo, hide, nil];  
  7.   
  8. [sprite runAction:sequence];  

有时候,在一个动作 序列(CCSequence)里面,我们需要在一个动作运 行完毕后,调用某个方法执行一些操作,然后再执行下一个动作。那我们就可以 结合CCCallFunc和CCSequence完成 这个功能。

比如,我们让精灵先变为红色,再从红色变为绿色,再从绿色变为蓝色,而且在每次变换颜色后都调用某个方法执行一些操作:

[java]  view plain copy
  1. // 变为红色  
  2. CCTintTo *tintTo1 = [CCTintTo actionWithDuration:2 red:255 green:0 blue:0];  
  3. // 变为红色后调用self的turnRed方法  
  4. CCCallFunc *fn1 = [CCCallFunc actionWithTarget:self selector:@selector(turnRed)];  
  5.   
  6. // 变为绿色  
  7. CCTintTo *tintTo2 = [CCTintTo actionWithDuration:2 red:0 green:255 blue:0];  
  8. // 变为绿色后调用self的turnGreen:方法,参数是运行当前动作的节点  
  9. CCCallFuncN *fn2 = [CCCallFuncN actionWithTarget:self selector:@selector(turnGreen:)];  
  10.   
  11. // 变为蓝色  
  12. CCTintTo *tintTo3 = [CCTintTo actionWithDuration:2 red:0 green:0 blue:255];  
  13. // 变为蓝色后调用self的turnBlue:data:方法,第一个参数是运行当前动作的节点,第二个参数是data的值  
  14. CCCallFuncND *fn3 = [CCCallFuncND actionWithTarget:self selector:@selector(turnBlue:data:) data:@"blue"];  
  15.   
  16. // 最后调用turnDone:方法,传递了一个@"done"字符串作为参数  
  17. CCCallFuncO *fn4 = [CCCallFuncO actionWithTarget:self selector:@selector(turnDone:) object:@"done"];  
  18.   
  19. CCSequence *sequence = [CCSequence actions:tintTo1, fn1, tintTo2, fn2, tintTo3, fn3, fn4, nil];  
  20. [sprite runAction:sequence];  
下面是回调方法的实现:

[java]  view plain copy
  1. - (void)turnRed {  
  2.     NSLog(@"变为红色");  
  3. }  
  4.   
  5. // node是运行当前动作的节点  
  6. - (void)turnGreen:(id)node {  
  7.     NSLog(@"变为绿色:%@", node);  
  8. }  
  9.   
  10. // node是运行当前动作的节点  
  11. - (void)turnBlue:(id)node data:(void *)data {  
  12.     NSLog(@"变为蓝色,%@,%@", node, data);  
  13. }  
  14.   
  15. - (void)turnDone:(id)param {  
  16.     NSLog(@"变换完毕:%@", param);  
  17. }  
你会发现,精灵变为红色后 就会调用turnRed方法,变为绿色后会调用turnGreen:方法,变为蓝色后会先调用turnBlue:data:方法,最后调用turnDone:方法

最后做一个总结:

下面这几个类都会在运行动作时调用一个方法

CCCallFunc :调用方法时不传递参数

CCCallFuncN :调用方法时,可以传递1个参数,参数值是运行当前动作的节点

CCCallFuncND :调用方法时,可以传递2个参数,第1个参数是运行当前动作的节点,第2个参数是actionWithTarget:selector:data:方法中的data值

CCCallFuncO :调用方法时,可以传递1个参数,参数值是actionWithTarget:selector:object:方法中的object值


CCRepeatForever

CCRepeatForever直接继承自CCAction,可以不停地运行某个间隔动作(CCActionInterval)。

如果你想让精灵不停地旋转,可以这样写:

[java]  view plain copy
  1. // 1秒内顺时针旋转360°  
  2. CCRotateBy *rotate = [CCRotateBy actionWithDuration:1 angle:360];  
  3. // 使用CCRepeatForever重复CCRotateBy动作  
  4. CCRepeatForever *repeat = [CCRepeatForever actionWithAction:rotate];  
  5. [sprite runAction:repeat];  
也能够利 用CCRepeatForever重复一个动作序列(CCSequence)

[java]  view plain copy
  1. // 变为红色  
  2. CCTintTo *tintTo1 = [CCTintTo actionWithDuration:1 red:255 green:0 blue:0];  
  3. // 变为绿色  
  4. CCTintTo *tintTo2 = [CCTintTo actionWithDuration:1 red:0 green:255 blue:0];  
  5. // 变为蓝色  
  6. CCTintTo *tintTo3 = [CCTintTo actionWithDuration:1 red:0 green:0 blue:255];  
  7. CCSequence *sequence = [CCSequence actions:tintTo1, tintTo2, tintTo3, nil];  
  8.   
  9. CCRepeatForever *repeat = [CCRepeatForever actionWithAction:sequence];  
  10.   
  11. [sprite runAction:repeat];  

你会发现精灵的颜色状态是:红 -> 绿 -> 蓝 -> 红 -> 绿 -> 蓝 -> 红 ...,一直在红绿蓝3种颜色之间按顺序切换


CCSpeed

CCSpeed也是直接继承自CCAction,可以影响间隔动作(继承自CCActionInterval的动作)的运行速度。

[java]  view plain copy
  1. // 1秒内顺时针旋转360°  
  2. CCRotateBy *rotate = [CCRotateBy actionWithDuration:1 angle:360];  
  3. // 速度变为原来的一半  
  4. CCSpeed *speed = [CCSpeed actionWithAction:rotate speed:0.5];  
  5. [sprite runAction:speed];  

本来1秒就完成旋转的,设置speed为0.5后,就需要2秒才能完成旋转


原文地址:http://blog.youkuaiyun.com/q199109106q/article/details/8604436

感谢作者~!

Cocos2d-x学习笔记(七) CCAction让你的精灵跑起来  前面学习了精灵类,让精灵播放了动画,今天来学习怎样让精灵跑起来。想让精灵移动需要用到CCAction动作类以及他的子类们。 一、让你的人物移动 让精灵移动到指定位置要用到CCMoveTo,代码如下: CCActionInterval* actionTo = CCMoveTo::create(2, ccp(500, screenSize.height / 2));    ... 阅读详情

相关推荐

新手必看!Cisco Packet Tracer 8.2从安装到完成第一个局域网实验(附常见问题解决)

本文为网络新手提供了Cisco Packet Tracer 8.2的完整入门指南。从官方下载安装、界面熟悉,到核心的拖拽设备、连线、配置IP地址三步操作,手把手教你完成第一个局域网组网实验。文章重点讲解了如何通过Ping命令验证连通性,并附带了连线错误、IP配置不当等常见问题的解决思路,帮助初学者快速上手这款强大的思科模拟器。

android的专栏 867

九、CCAction

之前介绍CCNode的时候说过,动作是指在特定时间内完成移动、缩放、旋转等操作的行为,节点可以通过运行动作来实现动画效果,这里的动作就是指CCAction对象,它有很多的子类,每个子类都封装了不同的动作效果。 先来看看CCAction的继承结构图 这里我省略了瞬时动作(CCActionInstant)和间隔动作(CCActionInterval)的子类,因为它们又包含了非常多的子类,待会再

M了个J 9306

Skyworks SKY85331-11的Wi-Fi 6 (802.11ax)标准 2.4G 高功率WLAN前端模块解决方案

SKY85331-11是高度集成的2 GHz前端模块(FEM)包含2 GHz单刀双掷(SPDT)发送/接收(T / R)开关,2 GHz低噪声放大器(LNA)带旁路和一个2 GHz功率放大器(PA),用于大功率802.11ax应用程序和系统LNA和PA禁用功能可确保低漏电流 关闭模式。 包括一个集成的功率检测器以提供系统内的闭环功率控制。该设备提供Small (24-pin, 3 x 5 mm) (LGA)封装。 图1.引脚配置和封装如图所示 图2.信号引脚分配和功能引脚描述 图...

zhangbao19890622的博客 4503

【BLE】-CC2451 协议栈相关函数解析

1. _ltoa函数描述:将long的类型的数据l,按照radix的格式(16进制或者10进制的格式)转换成字符串存到数据buf[n]中。/********************************************************************* * @fn _ltoa * * @brief * * convert a long unsigne

Catullus的博客 3692

SAP ABAP实战:用BAPI_PO_CREATE1创建采购订单时,如何巧妙处理PBXX和PB00条件类型?

本文深入探讨了在SAP ABAP开发中使用BAPI_PO_CREATE1创建采购订单时,如何有效处理PBXX和PB00条件类型的难题。通过分析外协加工订单的特殊需求,提供了从问题定位到解决方案的全流程方法,包括数据流向追踪、字段控制策略和增强实现方案,帮助开发者解决条件类型自动生成的业务痛点。

weixin_30614109的博客 824

开源TMS系统cortex-tms私有化部署与二次开发实战指南

运输管理系统(TMS)是现代物流数字化的核心组件,它通过将线下零散的物流操作转化为线上标准化、可追溯的数据流,实现订单、调度、跟踪与结算的全流程管理。其技术原理通常基于微服务架构,采用Spring Boot、Vue.js等成熟技术栈构建,确保系统的稳定性和可扩展性。TMS的技术价值在于显著提升物流企业的运营效率、降低成本并增强过程可控性,尤其适用于中小型物流企业实现从手工管理到系统化管理的跨越。在应用场景上,TMS广泛应用于车队管理、订单跟踪和财务结算等环节。本文聚焦于开源TMS项目cortex-tms,深

weixin_42523907的博客 746

TypeScript

TypeScript是由微软开发的javascript开发语言。 它是javascript的高级语法定义。 使用,可以在vs 里创建typeScript项目。 或npm install -g typescript  tsc XX.ts  //编译ts 成js文件。

starwmx520的博客 2209

先进封装类别分析与典型案例

当制程微缩逼近物理极限、单颗大芯片(reticle limit)面积受限于光罩尺寸,且逻辑、存储、射频、传感等功能无法用同一套工艺最经济地制造时,性能增益的来源从 "晶体管密度" 转向 "互连密度"。先进封装的本质,是在芯片外部用更短、更密、更宽的路径把多个裸 die(die)互连起来,换取更高带宽、更低延迟、更小体积和异构集成能力。行业通常按划分为 2D、2.5D、3D、扇出、SiP 五大谱系,Chiplet/UCIe 则是贯穿其上的设计方法论,玻璃基板、共封装光学(CPO)是正在成型的新分支。

0 30

CCFadeOut ,CCFadeIn 不能使用的原因

CCFadeOut *action = CCFadeOut::create(0.5f);  image->runAction(action); 截取部分代码。以上是我写游戏时候遇到的问题代码, 以上代码是实现渐出效果的。 原因: CCFadeOut ,CCFadeIn 原理是通过改变透明值来实现渐出,渐入效果的。 而我调用isCascadeOpacityEnabled(),返回值为fa

学海无涯 4035

【知识图谱】实践篇——基于知识图谱的《红楼梦》人物关系可视化及问答系统实践:part6基于图谱的问答实现

前序文章:本部分则是整个项目的核心内容——基于图谱的问答。需要实现的是对于“简单问题”进行解析,然后从图谱数据库中查询与该人员及其相关人员信息,返回到前端并显示该人员的基本信息。除此之外,用户可以点击返回的结果人员节点,页面能够显示该用户的个人基本信息。那么现在就开始吧。根据源码实现问答形式,其实是比较简单的。原代码中使用ltp对问题进行分词,选取具有名次词性的关键词进行处理。 ltp配置稍许麻烦,我使用jieba分词工具对问题进行分词,然后再按照原文提取问句中人物及关系,然后构建cypher neo4j查

让算法融入生活,改变生活! 2935

MFC Tab Control控件完全指南:从基础使用到高级定制

本文详细介绍了MFC中TabControl控件的使用方法和高级技巧。主要内容包括:1) TabControl基础属性设置与绑定;2) 样式定制和外观自定义;3) 创建派生类实现扩展功能;4) 动态页面管理和子对话框控制;5) 高级功能如标签拖拽排序和右键菜单。通过完整代码示例,展示了从基本应用到复杂场景的实现方案,包括多标签页管理、自定义绘制、动态添加/删除标签等核心功能,为MFC开发者提供了全面的TabControl开发指南。

专注现代C++实战,从核心语法到高性能编程,助力开发者深入掌握系统级编程精髓。 257

【玩转cocos2d-x之九】动作类CCAction

精灵也出来了,但是不会动的精灵是木有用的。。。CCAction就是负责来解决精灵运动的问题。 1.概况 CCAction直接从CCObject继承而来,注意它代表的是一个动作,是动词。精灵执行了这个动作,而不是名词。CCAction本身并没有什么功能,主要是定义了一些通用函数和虚函数让子类实现多态性。 2.接口 [cpp] vie

偶尔e网事 8954

kaggle学习笔记-餐厅数据挖掘

分析Zomato数据集的基本思想是为了公平地了解影响在班加罗尔不同地方建立不同类型餐厅的因素,每个餐厅的总评级,班加罗尔是这样一个城市,拥有超过12,000家餐厅,餐厅供应来自世界各地的菜肴。每天都有新的餐馆开业,这个行业还没有饱和,需求也在与日俱增。然而,尽管需求不断增加,新餐馆却很难与老牌餐馆竞争。大多数餐厅都供应同样的食物。班加罗尔是印度的IT之都。这里的大多数人主要依靠餐馆的食物,因为他们没有时间自己做饭。由于对餐馆的需求如此巨大,因此研究一个地方的人口统计学就变得很重要。

优快云XXCQ的博客 1862

cocos2d-x学习之CCAction

介绍 CCAction类对应cocos2d-x引擎里的动作。 类结构图 主要函数 virtual CCObject * copyWithZone (CCZone *pZone)//克隆对象 virtual bool isDone (void)//动作是否已经换成 virtual void startWithTarget (CCNode *pTarg

1024

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

cocos2d-x之CCAction类详解

在一个游戏中有了人物、白云等精灵,但是游戏中精灵静止不动肯定是不行的,要让它们执行一些动作,使精灵有丰富的动画效果,这样就会使用到CCAction类。CCAction主要用于人物角色等发生动作时使用,如紧身肉搏、远程射击和贴近对话等

ZhouJoLoker的专栏 1354

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Cocos2d-iphone 开发之(4) 动作CCAction

Cocos2d中的动作和动画 一、动作的分类 如果这些动作属性是在经过一段时间后修改的,那么这些动作属于区间动作:CCActionInterval 否则属于瞬时动作:CCActionInstance 动作名称后缀By的动作称为相对动作,动作名称后缀To的动作称为绝对动作,前者所有,后者部分有自己动作的reverse反转动作。 解释一下By和To的区别: To:表示绝对。 By:表示相

小邓笔记 2354

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

cocos2d-X 节点(CCAction.h)API

本文来自http://blog.youkuaiyun.com/runaying ,引用必须注明出处! cocos2d-X 节点(CCAction.h)API ///cocos2d-x-3.0alpha0/cocos2dx/actions #ifndef __ACTIONS_CCACTION_H__ #define __ACTIONS_CCACTION_H__ #include "cocoa/CC

runaying的专栏 1904

Cocos2D之CCAction详解

CCAction是基类,比较抽象,在实际开发中不会直接用到,更多的是在参数传递中充当‘泛型’;CCFiniteTimeAction从字面就能看出来(finite = 有限的),是有限次执行类,它是最为普通的行为,就是按时间顺序做一系列事情,做完后行为结束;CCRepeatForever的名字更易懂了,无限重复行为类,就是说它可以让节点反复的做一件事,除非把行为或节点删除,否则永远不会停止;CCSp

不正经开发 1169

CCAction

之前介绍CCNode的时候说过,动作是指在特定时间内完成移动、缩放、旋转等操作的行为,节点可以通过运行动作来实现动画效果,这里的动作就是指CCAction对象,它有很多的子类,每个子类都封装了不同的动作效果。 先来看看CCAction的继承结构图 这里我省略了瞬时动作(CCActionInstant)和间隔动作(CCActionInterval)的子类,因为它们又包含了非常多的子...

a359798678的博客 138

cocos2d-x不得不说的 CCAction

先来看看CCAction的继承结构图 这里我省略了瞬时动作(CCActionInstant)和间隔动作(CCActionInterval)的子类,因为它们又包含了非常多的子类,待会再介绍它们的子类。 CCAction和CCFiniteTimeAction都是抽象类,只定义了一些基本属性和方法,没有实际用途,我们需要使用它们的子类来初始化动作,然后运行到节点上。 间隔动作

zcmain的专栏 2606

[cocos2d-x] --- CCAction类详解

Cocos2d-x学习交流群:140326755  Email : hahayacoder@gmail.com   1 在一个游戏中有了人物、白云等精灵,但是游戏中精灵静止不动肯定是不行的,要让它们执行一些动作,使精灵有丰富的动画效果,这样就会使用到CCAction类。CCAction主要用于人物角色等发生动作时使用,如紧身肉搏、远程射击和贴近对话等   2 在cocos2d-x中,CC

代码人生 1万+

(转载)cocos2d-X学习之主要类介绍:动作:CCAction

转载之:http://www.cnblogs.com/lhming/archive/2012/07/01/2572238.html 类继承图: 主要函数: virtualCCObject*copyWithZone(CCZone*pZone)//克隆对象 virtual boolisDone(void)//动作是否已经换成 virtual voidstartWit

志汉天涯~!~Day Day Up~ 1254
上一篇: cocos2D(八)---- CCMenu && CCMenuItem
下一篇: iOS开发 ---- 为iPhone 6设计自适应布局 Auto Layout
「已注销」
博客等级 码龄12年 28粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值