Action的分类



第一种:FiniteTimeAction类:有限时间的动作类

第二种:Follow类:节点跟随另一种节点的类

第三种:Speed类:节点执行速度类

第一种有限时间的动作类又分为瞬时动作和持续时间的动作。

几个重要的动作类

  1. Sequence:按顺序执行一系列的动作。但是在执行的动作系列中不能出现Repeat这种无限的动作。
CCMoveTo* move_1 = CCMoveTo::create(1,Vec(100,100));//第一个参数是时间,第二个参数是移动到的坐标
CCMoveBy* move_2 = CCMoveBy::create(1,ccp(100,200));//moveto和moveby的区别:一个是绝对坐标,一个是相对坐标(相对精灵原来的坐标)
CCMoveTo* move_3 = CCMoveBy::create(1,ccp(200,200));
CCSequence* seq = CCSequence::create(move_1,move_2,move_3,NULL);//将三种移动全部集合到一个动作序列
sprite->runAction(seq);//将精灵执行这个动作

2.Spawn:同时执行一系列动作,执行的时间以子动作中最长事件为准。

CCSpawn* action = CCSpawn::create(
CCJumpBy::create(1,Vec(300,0) ,50 ,4),
CCRotateBy::create(2,180), NULL);
sprite->runAction(action);//同时执行这两个动作,边跳跃边旋转

3.Repeat:重复一个动作,可以自定义重复的次数。

CCMoveBy* action = CCMoveBy::create(2,Vec(10,10));
CCRepeat* repeat = CCRepeat::create(action,3);
sprite->runAction(repeat);//动作重复三次

4.RepeatForerver:无限次重复一个动作。

CCRotateBy* rotate = CCRotateBy::create(1.0,360);
CCRepeatForever* action2 = CCRepeatForever::create(rotate);
sprit->runAction(action2);//无限执行这个动作

5.CCMoveTo、CCMoveBy:移动到某一位置

CCMoveBy::create(2, ccp(80,80)) ;

6.CCScaleTo、CCScaleBy:进行一定比例的放大缩小

CCScaleTo::create(2.0f, 0.5f) ;

7.CCSkewTo、CCSkewBy:进行一定角度的拉伸

CCSkewTo::create(2, 37.2f, -37.2f);

8.CCRotateTo、CCRotateBy:进行一定角度的旋转

CCRotateBy::create(2, 45.0f) ;

9.CCJumpTo、CCJumpBy:进行跳跃

CCJumpTo::create(2, ccp(300,300), 50, 4);

10.CCBezierBy、CCBezierTo:贝塞尔曲线

ccBezierConfig bezier;
bezier.controlPoint_1 = ccp(0, 200);
bezier.controlPoint_2 = ccp(300, -200);
bezier.endPosition = ccp(300,100);
CCBezierBy::create(3, bezier);

11.CCBlink:表示闪烁

CCBlink::create(2, 10) ;

[cocos2d-x]关于Action的更多相关文章

  1. cocos2d中各种action方法的应用

    Action示例: 1.移动动作 cc.MoveBy:create(time, posX, posY)  在time时间内,相对当前位置基础上移动x,y个单位. cc.MoveTo:create(ti ...

  2. !cocos2d 重复添加action事件

    当点击的时候,如果不是按照开始点击计算的,那么持续点击会导致不会变大. void Piece::setActived(bool active) { _actived = active; CCActio ...

  3. 一个简单的游戏开发框架(六.行为Action)

    Action是cocos2d-x中比较重要的概念,有一个庞大的类族.参见老G写的cocos2d-x学习笔记09:动作2:持续动作 除了各种包装器,剩下的主要是一些持续动作: CCMoveTo:移动到. ...

  4. SpriteKit中反转Action需要注意的问题

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们知道在SpriteKit中同样有Cocos2D中类似的Ac ...

  5. cocos2d-x实战 C++卷 学习笔记--第7章 动作、特效(一)

    前言: 介绍cocos2d-x中的动作.特效. 动作: 动作(action)包括基本动作和基本动作的组合,这些基本动作有缩放.移动.旋转等,而且这些动作变化的速度也可以设定. 动作类是 Action. ...

  6. Cocos2D中Action的进阶使用技巧(二)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 上回说到解决办法是使用CCTargetedAction类. C ...

  7. Cocos2D中Action的进阶使用技巧(一)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 大家对Cocos2d中动作的使用大概都很清楚了,其实本身act ...

  8. cocos2D v3.x 中action的回调block变化

    cocos2D v2.x中有带参数的回调block: id blk = [CCCallBlockN actionWithBlock:^(CCNode *node){ node.position = o ...

  9. cocos2d触碰例子代码

    // // TestLayer.h // MiniTD // // Created by OnePiece on 12-7-30. // Copyright 2012年 __MyCompanyName ...

  10. 如何优化cocos2d程序的内存使用和程序大小

    在我完成第一个游戏项目的时候,我深切地意识到"使用cocos2d来制作游戏的开发者们,他们大多会被cocos2d的内存问题所困扰".而我刚开始接触cocos2d的时候,社区里面的人 ...

随机推荐

  1. 【听如子说】-python模块系列-AIS编解码Pyais

    Pyais Module Introduce pyais一个简单实用的ais编解码模块 工作中需要和ais打交道,在摸鱼的过程中发现了一个牛逼的模块,对ais编解码感兴趣的可以拿项目学习一下,或者运用 ...

  2. 在vue中_this和this的区别

    _this只是一个变量名,this代表父函数,如果在子函数还用this,this的指 向就变成子函数了,_this就是用来存储指向的 普通函数中的this表示调用此函数时的对象,箭头函数里面的this ...

  3. OpenStack云计算平台框架

    概:  OpenStack是包含很多独立组件的一个云计算平台框架.在安装组件前,需要先将框架搭建出来,才能向其中放置组件. 搭建open stack云计算平台框架 一.安装open stack云计算平 ...

  4. android 代码分析

    1.@Override注解 @Override 注解是用来指定方法重写的,只能修饰方法并且只能用于方法重写,不能修饰其它的元素. 作用是告诉编译器检查这个方法,保证父类要包含一个被该方法重写的方法,否 ...

  5. Oracle数据泵导入dmp文件,报ORA-39083、ORA-01917错误解决办法

    将10.16.23.111数据库服务器中的数据库名称为cwy_init1的数据导出,随后在10.16.23.112数据库服务器创建空库cwy_init2,将导出的cwy_init1数据文件(cwy_i ...

  6. Optional对象

    Optional对象 Optional 类是一个可以为null的容器对象,用于简化Java中对空值的判断处理,以防止出现各种空指针异常. 静态方法-of 必须确定对象不为null 在使用of封装成op ...

  7. 4.mysql-进阶

    1.事务 将多个操作步骤变成一个事务,任何一个步骤失败,则回滚到事务的所有步骤之前状态,大白话:要成功都成功:要失败都失败. 如转账操作,A扣钱.B收钱,必须两个步骤都成功,才认为转账成功 innod ...

  8. PHP 正在“杀死”Python

    最近,我突然发现自己好像又在逆潮流而动.可能我的想法与很多朋友不同,我认为 PHP 这个编程语言界的"混蛋"比以往任何时候都更受欢迎. 或许你会质疑--PHP 不是已经完蛋了吗?市 ...

  9. 图文并茂解释开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别

    世界上的开源许可证(Open Source License)大概有上百种,而我们常用的开源软件协议大致有GPL.BSD.MIT.Mozilla.Apache和LGPL. 从下图中可以看出几种开源软件协 ...

  10. 基于Spring-AOP的自定义分片工具

    作者:陈昌浩 1 背景 随着数据量的增长,发现系统在与其他系统交互时,批量接口会出现超时现象,发现原批量接口在实现时,没有做分片处理,当数据过大时或超过其他系统阈值时,就会出现错误.由于与其他系统交互 ...