普通动作
瞬时动作
用法:
local hideAction = cc.Hide:create()
node:runAction(hideAction);
动作 | 参数 | 介绍 |
---|---|---|
Place | cc.p(x,y) | 将节点放置某个位置。 |
FlipX,FlipY | true/false | true则翻转,false则不翻转。只作用于Sprite,分别将Sprite沿X轴或Y轴反转显示 |
Show,Hide | 无 | 用于显示和隐藏节点。 |
CallFunc | function() | 运行一个自定义的回调 |
-
注意事项
- 这里的动作在代码里需要带上 cc; 比如 local _place = cc.Place:create(cc.p(0,0))
有限时动作
动作 | 参数 | 介绍 |
---|---|---|
MoveTo与MoveBy | durationTime,cc.p(x,y) | 参数1为运动总时间,参数2:MoveTo是目标终点,MoveBy是相对偏移量。 |
umpTo与JumpBy | durationTime,cc.p(x,y),25,5 | 使节点以一定的轨迹跳跃到指定位置。参数1为运动总时间,参数2:JumpTo是目标终点,Jump为相对偏移量。参数3是跳跃高度,参数4是跳跃次数。 |
ScaleTo与ScaleBy | durationTime,0.1 | 使节点的缩放系数随时间线性变化。参数1为持续时间,参数2:ScaleTo是最终缩放系数,ScaleBy是相对缩放系数。注:可利用缩放达到震动的效果。 |
RotateTo与RotateBy | durationTime,Angel | 使节点围绕锚点旋转。参数1为持续时间,参数2:RotateTo是最终角度,RotateBy是相对旋转角度 |
FadeIn与FadeOut | durationTime | 淡入,淡出 。唯一参数:FadeIn是多少时间内节点透明度从0到255,FadeOut相反 |
FadeTo | durationTime,Opacity | 参数1:持续时间,参数2:目标透明度 |
Blink | durationTime,count | 使节点闪烁。参数1为持续时间,参数2为闪烁次数。 |
TintTo与TintBy | durationTime,r,g,b | 使节点着色。参数1持续时间,参数2目标red值,参数3目标green值,参数4目标blue值。 |
DelayTime | delayTime | 延时执行下一个动作。唯一参数:delayTime 单位秒 |
缓冲动作
CCActionEase系列包含15个动作,它们可以被概括为5类动作:指数缓冲、Sine缓冲、弹性缓冲、跳跃缓冲和回震缓
冲。每一类动作都有3个不同时期的变换:In、Out和InOut。下面使用时间变换图像表示每组CCActionEase动作的作
用效果,其中横坐标表示实际动画时间,纵坐标表示变换后的动画时间。因此,线性动作的图像应该是一条自左下角到右上角的直线
CCEaseRateAction它是CCActionEase的派生类,而CCEaseRateAction,它是按变速运动的比例运动。它的三个派生类
CCEaseIn,CCEaseout, CCEaseInOut
-
派生类
- CCEaseIn由慢至快,按照参数比例运动。
- CCEaseOut由快至慢。
- CCEaseInOut,是前两者的综合。
CCEaseExponentialIn,CCEaseExponentialOut, CCEaseExponentialInOut,的基类是CCActionEase
CCEaseExponentialIn 由慢至快,没有比例参数(逐渐快起来)
CCEaseExponentialOut 由快至慢,开始忽然加速(用得较多,即开始加速,然后速度衰减)
CCEaseExponentialInOut 前两者的综合
CCEaseSineIn, CCEaseSineout, CCEaseSineInOut基类是CCActionEase,它是弹性缓冲。
指数缓冲
cc.EaseExponentialIn:create();
cc.EaseExponentialOut:create();
cc.EaseExponentialInOut:create();
赛因缓冲
cc.EaseSineIn:create();
cc.EaseSineOut:create();
cc.EaseSineInOut:create();
弹性缓冲
cc.EaseElasticIn:create();
cc.EaseElasticOut:create();
cc.EaseElasticInOut:create();
跳跃缓冲
cc.EaseBounceIn:create();
cc.EaseBounceOut:create();
cc.EaseBounceInOut:create();
回震缓冲
cc.EaseBackIn:create();
cc.EaseBackOut:create();
cc.EaseBackInOut:create();
组合动作
-
重复动作
- Repeat 执行某个动作n次和无限反复执行,Repeat动作不能嵌入其他复合动作内使用,应该是最外层的动作,嵌入其他符合动作会不能正确重复动作。
- RepeatForever 无限重复执行同一个动作
- Follow 让一个节点跟随另一个节点的动作,可以用来设置Layer跟随Sprite,可以实现类似摄像机跟拍的效果
cc.Repeat:create(action,times) --执行action动作times次
cc.RepeatForever:(action) --无限重复执行action动作
cc.Follow:create(followedNode,rect) --followedNode:跟随的目标。rect:跟随的范围,离开范围就不再跟随。
序列帧动画
按照队列的方式执行一组动画 :
cc.Sequence:create(action1,…)
local sequeAction = cc.Sequence:create(cc.DelayTime:create(2),cc.MoveTo:create((2,cc.p(100,200))));
pNode:runAction(sequeAction);–运行这个动作 节点需要4秒
并行混合动画
同时执行一组动画 :
cc.Spawn:create(action1,…)
local spawnAction = cc.Spawn:create(cc.DelayTime:create(2),cc.MoveTo:create(2,cc.p(100,200)));
pNode:runAction(spawnAction); --运行这个动作 节点需要2秒