cocos2D(九)---- CCAction,cocos2dccaction 间隔动作 瞬时动作 CCRepeatForever CCSpeed

  次阅读 来源:互联网(转载协议) 2015-09-28 15:28 我要评论(0)

cocos2D(九)---- CCAction,cocos2dccaction

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

先来看看CCAction的继承结构图

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

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

间隔动作

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

[java] view

plaincopy

// 1秒内顺时针旋转360°

CCRotateBy *rotate = [CCRotateBy actionWithDuration:1 angle:360];

[sprite runAction:rotate];

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

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

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

1.CCBlink

闪烁效果

[java] view

plaincopy

// 5秒内闪烁20次

CCBlink *blink = [CCBlink actionWithDuration:5 blinks:20];

[sprite runAction:blink];

2.CCMoveBy和CCMoveTo

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

[java] view

plaincopy

// 在1秒内,向右移动100单位,同时向上移动80单位

CCMoveBy *moveBy = [CCMoveBy actionWithDuration:1 position:CGPointMake(100, 80)];

[java] view

plaincopy

// 在1秒内,从节点的当前位置移动到(100, 80)这个位置

CCMoveTo *moveTo = [CCMoveTo actionWithDuration:1 position:CGPointMake(100, 80)];

3.CCRotateBy和CCRotateTo

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

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

[java] view

plaincopy

sprite.rotation = 45;

如果使用了CCRotateBy

[java] view

plaincopy

CCRotateBy *rotateBy = [CCRotateBy actionWithDuration:1 angle:90];

[sprite runAction:rotateBy];

// 在1秒内,再顺时针旋转90°,那么sprite的最终旋转角度是45° + 90° = 135°

如果使用了CCRotateTo

[java] view

plaincopy

CCRotateTo *rotateTo = [CCRotateTo actionWithDuration:1 angle:90];

[sprite runAction:rotateTo];

本站部分文章来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 2018深圳国际人工智能展览会 2018 shenzhen International Artif

    2018深圳国际人工智能展览会 2018 shenzhen International Artif

  • Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

    Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

  • Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

    Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

  • teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

    teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

网友点评网友点评
阅读推荐阅读推荐

据外媒报道,STEER打造了首款完全自动驾驶停车技术,旨在使常规车辆转变为无人驾驶车辆。STEER的首款技术应用是4级自动驾驶及网络安全停车...

近日,美国软性机器抓手制造商 Soft Robotics 宣布,获得 2000 万美元的融资,本轮投资者包括 Scale Venture Partners,Calibrate Ventures...

据外媒报道,加州车管局发布了《2017自动驾驶脱离报告(California Autonomous Vehicle Disengagement Reports)》,其中谈及了脱离的具体...

用人机语音交互,来解决智能家居适老的问题;通过家庭门禁与安防套件、空气净化套件、可燃气体与有害气体监控套件等相互联动,在不同生活情...