cocos2dx Action动作解析(1)
bool HelloWorld::init() {// // 1. super init firstif ( !CCLayer::init() ){return false;}CCSprite * sp= CCSprite::create("Icon.png");sp->setPosition(ccp(150, 150));addChild(sp,0,922);//// Action动作 // ////CCMoveBy 创建一个移动的动作 参数1:移动到目标坐标所需的时间 参数2:目标坐标 支持reverse 可以获取其反向动作 //// CCMoveTo 一样的 // CCActionInterval * moveBy = CCMoveBy::create(5,ccp(300, 100)); // CCActionInterval * actionmoveback= moveBy->reverse(); // sp->runAction(actionmoveback); // //// CCScaleTo 作用:创建一个缩放的动作 //// 参数1:达到缩放大小所需的时间 //// 参数2 :缩放的比例 // CCActionInterval * scaleto = CCScaleTo ::create(2, 2); // sp->runAction(scaleto); // //// CCScaleBy 作用:创建一个缩放的动作 //// 参数1:达到缩放大小的所需时间 参数2:缩放比例 // CCActionInterval * scaleby = CCScaleBy::create(2, 2); // CCActionInterval * actionbyback = scaleby->reverse(); // sp->runAction(actionbyback); // //// CCRotateTo //// 作用创建一个旋转的动作 //// 参数1:旋转的时间 参数2:旋转饿角度 0 - 360 // CCActionInterval * rotateto = CCRotateTo::create(2, 90); // sp->runAction(rotateto); // //// CCSkewTo //// 作用创建一个倾斜的动作 //// 参数1:倾斜到特定角度所需的时间 //// 参数2:x轴的倾斜角度 //// 参数3:y轴的倾斜角度 // CCActionInterval * skewto = CCSkewTo::create(2, 10, 10); // sp->runAction(skewto); // //// CCJumpTo //// 作用:创建一个跳的动作 //// 参数1:跳到目标动作位子的所需时间 //// 参数2:目标位置 //// 参数3:跳的高度 //// 参数4跳到目标位置的次数 // CCActionInterval* jumpto = CCJumpTo ::create(2, ccp(300, 200), 50, 4 ); // sp->runAction(jumpto); // //// CCJumpBy // // 作用:创建一个跳的动作 // // 参数1:跳到目标动作位子的所需时间 // // 参数2:目标位置 // // 参数3:跳的高度 // // 参数4跳到目标位置的次数 //// 这个支持方向动作reverse // CCActionInterval * jumpby = CCJumpBy ::create(3, ccp(300, 200), 50, 4); // CCActionInterval * ac= jumpby->reverse(); // sp->runAction(ac);// CCBezier //ccBezierConfig结构体 // ccBezierConfig bezierCon; // bezierCon.controlPoint_1=CCPointMake(200, 150);//控制点1 // bezierCon.controlPoint_2=CCPointMake(200, 160);//控制点2 // bezierCon.endPosition =CCPointMake(340, 100);// 结束位置 // CCBezierTo// 创建一个贝塞尔曲线运动的动作// 参数1:贝塞尔曲线运动的时间 // 参数2 :ccBezierConfig结构体 // CCActionInterval * action = CCBezierTo::create(2, bezierCon); // CCActionInterval * action = CCBezierBy::create(3, bezierCon);//支持反向 // CCActionInterval * action1 = action->reverse(); // sp->runAction(action1);// CCFadeIn // 作用:创建一个渐变出现的动作 // 参数是时间 // CCActionInterval * fadein = CCFadeIn::create(2); // sp->runAction(fadein);// CCFadeOut// 作用:创建一个渐变消失的动作// 参数是时间 // CCActionInterval * fadeout = CCFadeOut::create(2); // sp->runAction(fadeout);//CCTintTo // 作用:创建一个色彩变化的消失动作 // 参数1:色彩变化的动作 // 参数2 :红色分量 // 参数3:蓝色分量 // CCActionInterval * tinto = CCTintTo ::create(3, 255, 255, 0); // sp->runAction(tinto);// CCTintBy// 作用:创建一个色彩变化的出现动作// 参数1:色彩变化的动作// 参数2 :红色分量 // 参数3:蓝色分量 但是家了reverse就是 反向的 // CCActionInterval * tintby = CCTintBy::create(3, 0, 255, 255); // CCActionInterval * tintby1 = tintby->reverse(); // sp->runAction(tintby1);// CCBlink // 作用 :创建一额闪烁的动作 // 参数1:闪烁完成的时间 // 参数2:闪烁的次数// CCActionInterval * blink = CCBlink ::create(3, 10); // sp->runAction(blink);// CCDelayTime // 创建一个延迟的动作 // 参数 延迟的时间 // CCActionInterval * delaytime = CCDelayTime::create(3); // sp->runAction(delaytime);// CCOrbitCamera // 作用:创建一个球面坐标轨迹进行旋转的动作 // 参数1 : 旋转轨迹的时间 // 参数2 :起始半径 // 参数3:半径差 // 参数4:起始z角 // 参数5:旋转z角的差 // 参数6:起始x角 // 参数7:旋转x角的差 // CCActionInterval * orbitcamera = CCOrbitCamera::create(3, 10, 0, 45, 180, 90, 0); // sp->runAction(orbitcamera);// CCCardinalSpline // 作用:创建数组 点的数组CCPointArray * array = CCPointArray::create(20);array->addControlPoint(ccp(0,0));array->addControlPoint(ccp(210,0));array->addControlPoint(ccp(210,240));array->addControlPoint(ccp(0,160));array->addControlPoint(ccp(0,0)); // CCCardinalSplineTo // 作用:创建一个样条曲线轨迹的动作 // 参数1:完成轨迹所需的时间 // 参数2:控制点的坐标数组 // 拟合度 其值= 0 路径最柔和 // CCActionInterval * CardinalSplineTo=CCCardinalSplineTo::create(3, array, 0); // sp->runAction(CardinalSplineTo); //CCCardinalSplineBy// 作用:创建一个样条曲线轨迹的动作// 参数1:完成轨迹所需的时间// 参数2:控制点的坐标数组// 拟合度 其值= 0 路径最柔和 // CCActionInterval * CardinalSplineBy = CCCardinalSplineBy::create(3, array, 0); // sp->runAction(CardinalSplineBy);// CCCatmullRomTo CCCatmullRomBY // 作用:创建一个样条插值轨迹 // 参数1:完成轨迹的时间 // 参数2:控制点的数组坐标 // CCActionInterval * catmullRomTo = CCCatmullRomTo::create(3, array); // sp->runAction(catmullRomTo);// CCFollow // 作用:创建一个跟随动作 // 参数1:跟随的目标对象 // 跟随范围,离开范围就不再跟随//创建一个参照物spT // CCSprite * spt = CCSprite::create("Icon.png"); // spt->setPosition(ccp(420,40)); // addChild(spt); // sp->runAction(CCMoveTo::create(3, ccp(940,sp->getPositionY()))); // // CCFollow * follow = CCFollow::create(sp,CCRectMake(0, 0, 960, 320)); // this-> runAction(follow);// CCEaseBounceIn // 目标动作 // CCActionInterval* move = CCMoveTo::create(3, ccp(300, sp->getPositionY())); //// 让目标动作缓慢开始 //// 参数:目标动作 // CCActionInterval * EaseBounceIn = CCEaseBounceIn::create(move); // sp->runAction(EaseBounceIn);//CCEaseBounceOut // 作用:让目标动作赋予反弹力,且以目标动作结束位子开始反弹 // 参数目标动作 // CCActionInterval * easeBounceOut = CCEaseBounceOut ::create(move); // sp->runAction(easeBounceOut);// CCEaseBounceInOut // 作用:让目标动作赋予反弹力,且以目标动作起始与结束位子开始反弹 // CCActionInterval * easeBounceInOut= CCEaseBounceInOut::create(move); // sp->runAction(easeBounceInOut);// CCEaseBackIn // 作用:让目标动作赋予回力 , 且以目标动作起点位置作为回力点 // 参数:目标动作 // CCActionInterval * easeBackIn = CCEaseBackIn::create(move); // sp->runAction(easeBackIn);// CCEaseBackOut // 作用:让目标动作赋予回力 , 且以目标动作终点位置作为回力点// 参数:目标动作 // CCActionInterval *easeBackOut = CCEaseBackOut::create(move); // sp->runAction(easeBackOut);// CCEaseBackInOut // 作用:让目标动作赋予回力 , 且以目标动作起点和终点位置作为回力点// 参数:目标动作 // CCActionInterval * easeBackInOut = CCEaseBackInOut::create(move); // sp->runAction(easeBackInOut);// CCEaseElasticIn // 作用:让目标动作赋予弹性 ,且以目标动作起点位子赋予弹性 // 参数:目标动作 // CCActionInterval * easeElasticIn= CCEaseElasticIn::create(move); // sp->runAction(easeElasticIn);// CCEaseElasticOut// 作用:让目标动作赋予弹性 ,且以目标动作终点位子赋予弹性// 参数:目标动作 // CCActionInterval *easeElasticOut = CCEaseElasticOut::create(move); // sp->runAction(easeElasticOut);// CCEaseElasticInOut// 作用:让目标动作赋予弹性 ,且以目标动作起点和终点位子赋予弹性// 参数:目标动作 // CCActionInterval *easeElasticInOut = CCEaseElasticOut::create(move); // sp->runAction(easeElasticInOut);// CCEaseExponentialIn // 让目标动作缓慢开始 // 参数:目标动作 // CCActionInterval * easeExponentialIn= CCEaseExponentialIn::create(move); // sp->runAction(easeExponentialIn);// CCEaseExponentialOut// 让目标动作缓慢中止// 参数:目标动作 // CCActionInterval * easeExponentialIn= CCEaseExponentialOut::create(move); // sp->runAction(easeExponentialIn);// CCEaseExponentialInOut// 让目标动作缓慢开始和中止// 参数:目标动作 // CCActionInterval * easeExponentialInOut= CCEaseExponentialInOut::create(move); // sp->runAction(easeExponentialInOut);// CCEaseRateAction // 作用 : 让目标动作设置速率 // 参数1:目标动作 // 参数2:速率 // CCActionInterval * move = CCMoveTo::create(5, ccp(300,sp->getPositionY())); // CCActionInterval * easeRateAction = CCEaseRateAction::create(move, 3); // sp->runAction(easeRateAction);// CCEaseSineIn // 作用:动作由慢到快 // 参数:目标动作 // CCActionInterval * easeSineIn = CCEaseSineIn::create(move); // sp->runAction(easeSineIn);// CCEaseSineOut// 作用:动作由快到慢// 参数:目标动作 // CCActionInterval * easeSineOut = CCEaseSineOut::create(move); // sp->runAction(easeSineOut);// CCEaseSineInOut// 作用:动作由慢到快再快到慢// 参数:目标动作 // CCActionInterval * easeSineInOut = CCEaseSineInOut::create(move); // sp->runAction(easeSineInOut);// CCSpeed // 作用:让目标动作运行速度加倍 // 参数1:目标动作 // 参数2:倍速 // CCActionInterval * move = CCMoveTo::create(10, ccp(300,sp->getPositionY())); // CCSpeed * speed =CCSpeed::create(move, 100); // sp->runAction(speed);// CCSpawn // 作用:让多个动作同时执行 // 参数:目标动作的可变参数 // CCActionInterval * move = CCMoveTo::create(10, ccp(300,sp->getPositionY())); // CCActionInterval * scale = CCScaleTo::create(2, 3); // CCActionInterval * rotate = CCRotateTo::create(4, 190); // CCFiniteTimeAction * spawn =CCSpawn::create(move,scale,rotate,NULL); // sp->runAction(spawn);// CCSequence// 作用:让多个动作按照前后顺序逐一执行// 参数:目标动作的可变参数 // CCActionInterval * move = CCMoveTo::create(2, ccp(300, sp->getPositionY())); // CCActionInterval * scale = CCScaleTo::create(2, 3); // CCFiniteTimeAction * seq= CCSequence::create(move,scale,NULL); // sp->runAction(seq);// 扩展如果要对目标动作全部进行方向运动,可以使用如下形式操作// CCFiniteTimeAction *seq=CCSequence::create(moveby,scaleby,...NULL);// CCFiniteTimeAction * reverseseq = CCSequence::create(seq,seq->reverse(),NULL)// 注意CCSequence中的所有动作都必须支持reverse函数,否则会出现异常 // CCActionInterval * move = CCMoveBy::create(2, ccp(300, sp->getPositionY())); // CCActionInterval * scale = CCScaleBy::create(2, 3); // CCFiniteTimeAction * seq= CCSequence::create(move,scale,NULL); // CCFiniteTimeAction * reveseseq = CCSequence::create(seq,seq->reverse(),NULL); // sp->runAction(reveseseq);// CCRepeat // 作用:对目标动作进行重复运动(目标动作可以是CCSequence ,CCSpawn) // 参数1:目标动作 // 参数2:重复次数 // CCActionInterval * move = CCMoveTo::create(2, ccp(300, sp->getPositionY())); // CCActionInterval * move2 = CCMoveTo::create(2, ccp(100,100)); // CCFiniteTimeAction*seq =CCSequence::create(move,move2,NULL); // CCFiniteTimeAction *repeat = CCRepeat::create(seq, 3); // sp->runAction(repeat);// CCRepeatForever // 作用:对目标动作进行永久性的重复运动(目标动作可以是CCSequence ,CCSpawn) // 参数:目标动作 // CCActionInterval * move = CCMoveTo::create(1, ccp(300, sp->getPositionY())); // CCActionInterval * move1 = CCMoveTo::create(1, ccp(100,100)); // CCFiniteTimeAction* seq = CCSequence::create(move,move1,NULL); // CCActionInterval * repeatForever =CCRepeatForever::create((CCActionInterval* )seq); // sp->runAction(repeatForever);// CCCallFunc // 作用:创建一个回调动作(调用不带参数的回调方法); // 参数1:目标动作 // 参数2:目标回调函数 // CCActionInterval * move = CCMoveTo::create(1, ccp(300, sp->getPositionY())); // CCCallFunc * funcall= CCCallFunc::create(this, callfunc_selector(HelloWorld::callbackC)); // CCFiniteTimeAction * seq = CCSequence::create(move,funcall,NULL); // sp->runAction(seq);// CCCallFuncN// 作用:创建一个回调动作(调用 带一个参数的回调方法);// 参数1:目标动作// 参数2:目标回调函数 // CCActionInterval * move = CCMoveTo::create(1, ccp(300, sp->getPositionY())); // CCCallFuncN * funcall= CCCallFuncN::create(this, callfuncN_selector(HelloWorld::callbackN)); // CCFiniteTimeAction * seq = CCSequence::create(move,funcall,NULL); // sp->runAction(seq);// CCCallFuncND// 作用:创建一个回调动作(调用 带两个参数的回调方法);// 参数1:目标动作// 参数2:目标回调函数CCActionInterval * move = CCMoveTo::create(1, ccp(300, sp->getPositionY()));CCCallFuncND * funcall= CCCallFuncND::create(this, callfuncND_selector(HelloWorld::callbackND) ,(void*)0xbebabeba);CCFiniteTimeAction * seq = CCSequence::create(move,funcall,NULL);sp->runAction(seq);return true; } void HelloWorld::callbackC() {CCLOG("callbackC"); }void HelloWorld::callbackN(CCNode* sender) {CCLOG("callbackN"); }void HelloWorld::callbackND(CCNode* sender, void* data) {CCLOG("callbackND"); }
转载于:https://www.cnblogs.com/aibox222/p/8690511.html
cocos2dx Action动作解析(1)相关推荐
- Android 通过Intent调用系统功能和Action动作和服务广播【大全】
1.从google搜索内容 Intent intent = new Intent(); intent.setAction(Intent.ACTION_WEB_SEARCH); intent.putEx ...
- 开源跨平台移动项目Ngui【Action动作系统】
Ngui简介 这是一个GUI的排版显示引擎和跨平台的GUI应用程序开发框架,基于NodeJS/OpenGL,这也是第一个在移动端Android/iOS融合NodeJS的前端GUI项目,至此JavaSc ...
- PDF格式分析(二十三)Action动作
Action动作,除了跳转到文档中的某个页面之外,还可以指定其他类型的动作,例如启动应用程序,播放声音,改变注释的外观状态. 这些动作可以通过鼠标点击来触发,还可以通过其他的触发事件进行触发,如:Op ...
- 仿PS3游戏《战神》连击动作解析
导言:这个连击动作是模仿PS3游戏<战神3>的主角奎托斯的连击动作,制作之前首先找<战神>的游戏视频做参考,通过熟悉游戏制作过程中模型和动作的制作流程,以及游戏动作的特点,来研 ...
- cocos2dx中关于Action动作的相关API的详细介绍
//CCMoveBy 创建一个移动的动作 //参数1:移动到目标坐标所需的时间 //参数2:目标坐标 //支持reverse 可以获取其反向动作 //CCMoveTo 一样的 //CCAct ...
- cocos2dx中关于Action动作的相关API的具体介绍
//CCMoveBy 创建一个移动的动作 //參数1:移动到目标坐标所需的时间 //參数2:目标坐标 //支持reverse 能够获取其反向动作 //CCMoveTo 一样的 //CCAct ...
- Cocos2D-x(3)——动作类备忘
1. CCAction是cocos2d-x中的动作类,继承自CCObject,动作类必须依托与CCNode及其子类对象来发回作用.CCAction的子类包括有限时间动作CCFiniteTimeActi ...
- 基于骨骼点特征的视频分割任务——花样滑冰视频的动作解析
文章目录 项目简介 骨骼点特征的提取 概述 Introduction Method two-branch multi-stage CNN 花样滑冰数据集(MCFS) 我们的方法 DSTA Introd ...
- 【cocos2d-x】动作类之缓冲动作和组合动作的使用(变速动作)
一.缓冲动作 在实现运动中,常常需要一些加速度或者减速度的效果.Cocos2D-X引擎为我们提供了相应的实现接口,这样就不用再用原来的公式计算方法来实现加减速的效果. Ease系列的方法改变 ...
最新文章
- Windows Mobile中实现统计图形的绘制(C#版,柱状图)
- e3 1231 v3 达芬奇_黑苹果E3-1231-V3 + Z97-HD3+GTX960安装High Sierra10.13.6
- python 命令行参数—argparse模块的使用
- 数据中心监控管理系统设计(之一)
- SmartPart事件
- CMD命令之BAT脚本语法详解
- Xcode7 低版本iOS系统上下有黑边的问题
- 用过http api 发送邮件
- web集群之LVS集群
- jQuery实现form表单reset按钮重置清空表单功能
- The size of tensor a (4) must match the size of tensor b (2) at non-singleton dimension 1
- KMP算法的应用——碱基序列匹配
- 既不是研发顶尖高手,也不是销售大牛,为何偏偏获得2万RMB的首个涛思文化奖?...
- 科目二 车速忽快忽慢
- iPhone备忘录清除缓存
- 自动化部署工具OneinStack:从入坑到出坑
- 風の記憶 - 熊木杏里
- 读书笔记:CSS禅意花园-图像
- LeCun指明下一代AI方向:自主机器智能
- win7怎么调整屏幕亮度_调整Mac外部屏幕亮度小工具
热门文章
- 中国联通加快数据中心建设:全网机架数量超过32万架
- 一直误解的memset函数
- Find 7轻装版和正式版存储内存方面区别
- 解决:“确实允许此网页访问剪贴板吗”
- SVN 服务器的安装和配置(Gentoo)
- 极大似然估计_一文读懂矩估计,极大似然估计和贝叶斯估计
- 百度关键词抓取工具_阿里巴巴国际站运营关键词抓取工具
- bigdecimal 保留两位小数_不要以为你用了BigDecimal后,计算结果就一定精确了
- vs xgb 神经网络_业界 | 深度学习与XGBoost在小数据集上的测评,你怎么看?(附源码)...
- apache和mysql 403_如何使用mysql(lamp)分离环境搭建dedecms织梦网站及apache服务器常见的403http状态码及其解决方法...