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

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

例子 :

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值