09、Action_4(反动作、速度动作、静止动作、回调动作、拷贝动作)

来源:互联网 发布:澳洲炒股软件 编辑:程序博客网 时间:2024/06/11 20:51

反动作即与某个动作相反。比如一个精灵顺时针旋转,而反动作逆时针旋转。

例子 :

var sprite1 = new cc.Sprite('sprite.png');sprite1.attr({x : 200, y : 200});this.addChild(sprite1);var rotateBy = new cc.RotateBy(1, 360); sprite1.runAction(rotateBy);var sprite2 = new cc.Sprite('sprite.png');sprite2.attr({x : 600, y : 200});this.addChild(sprite2);var fta = rotateBy.reverse();   //以rotateBy 动作为基础,创建一个反动作sprite2.runAction(fta);


速度动作则可以改变一个动作的执行速度。

例子 :

var sprite = new cc.Sprite('sprite.png'); sprite.attr({x : 200, y : 200});this.addChild(sprite);var rotateBy = new cc.RotateBy(1, 360); var rea = new cc.RepeatForever(rotateBy);var speed = new cc.Speed( rea, 1 );sprite.runAction(speed); window.setTimeout(function(){   //2秒后调用cc.Speed的setSpeed函数,改变rotateBy的执行速度speed.setSpeed(2);}, 2000); 



静止动作即什么动作都不执行,相当于一个空动作。主要起到延时作用。

例子 :

var sprite = new cc.Sprite('res/steak.png'); sprite.attr({x:200, y:200});this.addChild(sprite);var rotateBy = new cc.RotateBy(1,360);var jumpTo = new cc.JumpTo(2, cc.p(400, 220), 50, 3);var dlt = new cc.DelayTime(2); //静止2秒var seq = new cc.Sequence(rotateBy, dlt, jumpTo); //中间插了一个静止动作,会延时2秒后才执行跳跃动作sprite.runAction(seq);



回调动作即动作执行完毕后,执行一个回调函数

例子 :

var sprite = new cc.Sprite('sprite.png'); sprite.attr({x:200, y:200});this.addChild(sprite);var func = new cc.CallFunc(function(e){e.runAction(new cc.FadeOut(3));alert('外部动作执行完毕');alert(e === sprite); //e为sprite}); var rotateBy = new cc.RotateBy(1,360);var seq = new cc.Sequence(rotateBy, func);sprite.runAction(seq);



拷贝一个动作

使用clone函数,可以拷贝一个动作。

例子 :

var s1 = new cc.Sprite('sprite.png');s1.attr({x : 200, y : 200});this.addChild(s1);var mt = new cc.MoveBy(1, cc.p(0,600));var jt = new cc.JumpTo(1, cc.p(600, 220), 50, 5);  var func = new cc.CallFunc(function(e){e.runAction(new cc.FadeOut(2));});var seq = new cc.Sequence(mt, jt, func);  s1.runAction(seq);var s2 = new cc.Sprite('sprite.png');s2.attr({x : 600, y : 200});this.addChild(s2);var mt_copy = seq.clone(); //拷贝seq动作,seq里面包含的动作也会被拷贝过来s2.runAction(mt_copy);







0 0
原创粉丝点击