首页 > 代码库 > cocos2d-html5学习笔记——创建持续性动作

cocos2d-html5学习笔记——创建持续性动作

学习笔记:仅作参考
cc.ScaleTo.create(duration, sx, sy) duration持续时间 sx 横坐标大小比例 sy 纵坐标大小比例RotateTo:将 cc.Node 对象旋转到一个特定的角度。RotateBy:将 cc.Node 对象旋转一个特定的角度。使用cc.RotateTo.create(duration, deltaAngleX, deltaAngleY)和 cc.RotateBy.create(duration, deltaAngleX, deltaAngleY)来创建动作。 duration 运动周期,单位为s。 deltaAngleX 水平旋转角度 deltaAngleY 垂直旋转角度,如果省略,则取deltaAngleX的值。 eg:与RotateBy区别:cc.RotateTo.create(
2, 360); 对象不转(转到360度也就是0度)cc.RotateBy.create(2, 360); 对象转360°cc.MoveTo.create(duration,position); Duration: 移动持续时间/秒 Position: 移动到的位置坐标eg:var actionBy = cc.MoveTo.create(2, cc.p(80, 80)); //当前坐标为x,y, 2秒移动到x=80,y=80cc.MoveBy.create(duration, deltaPosition); Duration: 移动持续时间/秒 deltaPosition: 移动到当前坐标+增量坐标的位置eg:var actionTo = cc.MoveBy.create(2, cc.p(40, 40)); //当前坐标为x,y, 2秒移动到x+40,y+40cc.JumpTo.create(duration,position,height,jumps); Duration: 跳跃持续时间/秒 Position: 跳动到的位置坐标 Height: 跳跃高度(px) Jumps: 跳跃次数eg:var actionTo = cc.JumpTo.create(2, cc.p(300, 300), 50, 4); //2秒跳跃到x=300,y=300,跳跃高度50px,跳跃4次cc.JumpBy.create(duration,deltaposition,height,jumps) Duration: 跳跃持续时间/秒 deltaPosition: 跳动到的位置坐标+增量坐标 Height: 跳跃高度 Jumps: 跳跃次数eg:var actionBy = cc.JumpBy.create(2, cc.p(300, 0), 50, 4); //当前坐标x,y,2秒跳跃到x+300,y+0,跳跃高度50px,跳跃4次cc.FadeTo.create(duration,opacity) Duration: 由不透明变透明的持续时间/秒 Opacity: 透明度,0-255, 0是完全透明,255是不变eg:var action = cc.FadeTo.create(1, 125); //1秒对象由不透明0变为透明度125cc.FadeOut.create(duration) Duration: 对象淡出变透明的持续时间/秒, 变透明后,此对象依然存在eg:var action = cc.FadeOut.create(1); //1秒对象由不透明变为完全透明,即透明度由0变为255cc.FadeIn.create(duration) Duration: 对象淡入的持续时间/秒eg:var action = cc.FadeIn.create(1); //1秒对象由完全透明变为不透明,即透明度由255变为0cc.DelayTime.create(d)D: 延迟时间eg:var delay = cc.DelayTime.create(1); //创建一个延迟1秒的动作cc.Blink.create(duration,blinks); Duration: 对象闪烁持续时间/秒 Blinks: 对象闪烁次数eg:var action = cc.Blink.create(2, 10); //2秒闪烁10次cc.BezierTo.create(t,c); T: Bezier曲线移动的时间/秒 C: 一组坐标点eg:var bezier = [cc.p(0, 200), cc.p(300, 150), cc.p(300, 100)];var bezierTo = cc.BezierTo.create(2, bezier); //几个坐标点之间按Bezier曲线移动cc.BezierBy.create(t,c); T: Bezier曲线移动的时间/秒 C: 一组坐标点 当前坐标位置+增量坐标的几个点之间按Bezier曲线移动cc.Repeat.create(action,times Action: 要重复的动作 Times: 重复次数eg:var move1=cc.MoveTo.create(2,cc.p(300,200));var move2=cc.MoveTo.create(2,cc.p(200,200));var seq=cc.Sequence.create(move1, move2);var rep = cc.Repeat.create(seq, 5); //在坐标(300,200)与坐标(200,200)之间来回移动,重复5次cc.RepeatForever.create(action) 无限重复action动作eg:var repeat=cc.RepeatForever.create( cc.RotateTo.create(2,180) );cc.ReverseTime.create(action) 直接开始与action动作相反的动作eg:var fox=cc.Sprite.create(foxImage); //创建一个名为fox的精灵fox.setPosition(200,200); //设置精灵的初始位置为坐标(200,200)var move1=cc.MoveTo.create(2,cc.p(300,200)); //创建一个名为move1的动作,该动作执行2秒移动到坐标(300,200)var reverse = cc.ReverseTime.create(move1); //创建一个名为reverse的动作,该动作执行与move1的相反动作fox.runAction(reverse); //精灵fox执行动作reverse,实际效果为:精灵fox的初始位置坐标为(300,200) (move1动作的终点位置),2秒移动到坐标(200,200)(move1动作的初始位置)cc.TintBy.create(duration,r,g,b); //将对象的色调变化某值,r,g,b取值范围为0~255cc.TintTo.create(duration,r,g,b); //将对象的色调变化到某值eg:var action=cc.TintBy.create(2,125,0,52);//对象当前色调为r,g,b,将对象的色调变化为r+125,g+0,b+52,注意取值范围var action=cc.TintTo.create(2,125,0,52);//将对象的色调变化为r=125,g=0,b=52