声 明 本教程仅用于初学cocos2dx同学使用,内容由本人(孤狼)学习过程中笔记编写,本教程使用cocos2dx版本为2.1.4。本教程内容可以自由转载,但必须同时附带本声明,或注明出处。 gl.paea.cn版权所有。 |
大家好,欢迎回到“和屌丝一起学coco2dx”系列教程,上节我们说到“CCScrollView视图”做了一个可以拖动的背景,不知道你做出来没有,这节开始,我们就不说控件了,因为,你已经把基本控件学完了 ,你蛮厉害的嘛。嘿嘿,好了,从这节开始,我们就要学操作代码部分了,这块相对控件那块来说稍微难一点,枯燥一点,但是我相信这不是打到你的理由,你一定会继续努力学会它的是吧。好,那我们开始今天的学习-Action动作。
【一】:它是什么
顾名思义,Action动作就是我们用来控制各个元素的命令,我们通过这些命令来控制各个控件向上,向下,插入...艹邪恶了,好了知道是什么了就行了。
【二】:函数
1.常用动作操作函数
[1]:runAction("action对象");
//执行一个action动作对象
[2]:CCDirector::sharedDirector()->getActionManger()->pauseTarget("对象");
//暂停一个对象的动作
[3]:CCDirector::sharedDirector()->getActionManager()->pauseAllRunningActions();
//暂停所有对象的动作
[4]:pauseSchedulerAndActions();
//暂停所有对象的动作及其更新函数
[5]:CCDirector::sharedDirector()->getActionManager()->resumeTarget("对象");
//继续一个对象的动作
[6]:CCDirector::sharedDirector()->getActionManager()->resumeTargets("CCSet对象");
//继续所有对象的动作
[7]:resumeSchedulerAndActions();
//继续所有对象的动作及其更新函数
[8]:stopAction("action对象");
//停止对象的动作
[9]:stopActionByTag("tag值");
//停止目标对象的动作
[10]:stopAllActions();
//停止所有对象的动作
[11]:CCDirector::sharedDirector()->getActionManager()->removeAction("action对象");
//删除动作对象
[12]:CCDirector::sharedDirector()->getActionManager()->removeActionByTag("tag值");
//删除动作对象
[13]:CCDirector::sharedDirector()->getActionManager()->removeAllActions();
//删除所有动作对象
[14]:CCDirector::sharedDirector()->getActionManager()->removeAllActionsFromTarget("tag值");
//删除所有相同tag值得动作对象
2.常用动作函数
怎么记呢?这里孤狼我给大家总结了个规律:
所有的调用都是create 有给予(To)就有伴随(By) 带把儿(By)的都有双向动作。(使用reverse()可以获取反向动作) 有进(In)就有出(Out),我们更喜欢进进出出(InOut)。 这里还要注意的一点是:By方法的变量都是相对当前量的,不是绝对的哦。 |
[1]:CCMoveTo::create("时间","坐标");
//几秒后移动到坐标点
[2]:CCMoveBy::create("时间","坐标");
//几秒后移动到坐标点
[3]:CCScaleTo::create("时间","缩放比例");
//几秒后缩放到指定大小(1:原大小;大于1:放大;小于1:缩小)
[4]:CCScaleBy::create("时间","缩放比例");
//几秒后缩放到指定大小(1:原大小;大于1:放大;小于1:缩小)
[5]:CCRotateTo::create("时间","角度");
//几秒后旋转多少度[0,360]
[6]:CCRotateBy::create("时间","角度");
//几秒后旋转多少度[0,360]
[7]:CCSkewTo::create("时间","x轴角度","y轴角度");
//几秒后倾斜指定角度
[8]:CCSkewBy::create("时间","x轴角度","y轴角度");
//几秒后倾斜指定角度
[9]:CCJumpTo::create("时间","目标位置","高度","到目标所需次数");
//几秒后经过几次跳到指定位置
[10]:CCJumpBy::create("时间","目标位置","高度","到目标所需次数");
//几秒后经过几次跳到指定位置
[11]:CCBezierTo::create("时间","ccBezierConfig构造体");
//几秒内按指定贝塞尔曲线运动
[12]:CCBezierBy::create("时间","ccBezierConfig构造体");
//几秒内按指定贝塞尔曲线运动
[13]:CCTintTo::create("时间","红","绿","蓝");
//几秒后变为指定颜色
[14]:CCTintBy::create("时间","红","绿","蓝");
//几秒后变为指定颜色
[15]:CCCardinalSplineTo::create("时间","控制点坐标数组","拟合度");
//几秒内按曲线运动(拟合度0最柔和)
[16]:CCCardinalSplineBy::create("时间","控制点坐标数组","拟合度");
//几秒内按曲线运动(拟合度0最柔和)
[17]:CCCatmullRomTo::create("时间","控制点坐标数组");
//几秒内完成一个样条插值轨迹(直线)
[18]:CCCatmullRomBy::create("时间","控制点坐标数组");
//几秒内完成一个样条插值轨迹(直线)
[19]:CCFadeIn::create("时间");
//渐显
[20]:CCFadeOut::create("时间");
//渐消
[21]:CCEaseBounceIn::create("action对象");
//让目标动作具有反弹效果,从起点反弹
[22]:CCEaseBounceOut::create("action对象");
//让目标动作具有反弹效果,从终点反弹
[23]:CCEaseBounceInOut::create("action对象");
//让目标动作具有反弹效果,起点终点都反弹
[24]:CCEaseBackIn::create("action对象");
//让目标动作具有回力效果,起点作为回力点
[25]:CCEaseBackOut::create("