Cocos CreatorAction使用

转载地址:https://blog.csdn.net/agsgh/article/details/79447090

Action类
Action类是所有动作类型的基类
并且Action有两个类别
1、瞬时完成(ActionInstant)
2、非瞬时完成,即到完成时需要一定的时间ActionIntervial

相关API功能
cc.moveTo()移动到目标位置
cc.moveBy()移动指定的距离
cc.rotateTo()旋转到目标角度
cc.rotateBy()旋转到指定角度
cc.scaleTo()缩放到目标大小
cc.scaleBy()缩放到指定大小
cc.fadeIn()淡入效果(透明度小于255才能体现效果)
cc.fadeOut()淡出效果(透明度大于0才能体现效果)
cc.fadeTo()修改透明度到目标值
cc.callFun()执行回调函数
cc.delayTime()动作延迟时间
cc.sequence()顺序执行动作,创建的动作将按顺序依次运行
cc.repeat()重复动作,可以按一定次数重复一个动
cc.repeatForever()一直重复动作
Action.easeIn()由慢到快的缓动对象
Action.easeOut()由快到慢的缓动对象
stopAction()停止并移除指定的动作
stopAllActions()停止并且移除所有正在运行的动作列表。

以上的Action API均需要node.runAction()结合使用
使用演示:

//move
var movTo=cc.moveTo(1,cc.p(100,100));
this.node.runAction(movTo);//第一个参数是移动到目标位置的时间
var movBy=cc.moveBy(1,cc.p(100,100));
this.node.runAction(movBy);
//rotate
var rTo=cc.rotateTo(1, 180);//第一个参数也是时间参数,将节点旋转180°
this.node.runAction(rTo);
var rBy=cc.rotateBy(1,180);//该节点再旋转180°
this.node.runAction(rBy);
//scale
var scTo = cc.scaleTo(1,2);//将节点缩放到2倍
this.node.runAction(scTo);
var scBy = cc.scaleBy(1,2);//将节点在原来的基础上再乘2
this.node.runAction(scBy);
//fade
var faO = cc.fadeOut(2);//2秒淡出
this.node.runAction(faO);
var faI = cc.fadeIn(2);//2秒淡入
this.node.opacity = 0;//调节透明度
this.node.runAction(faI);
var faTo = cc.fadeTo(1, 128);
this.node.runAction(faTo);
//callfun
var callF = cc.callFunc(function(){
    cc.log("function callback!!");
}.bind(this));
cc.node.runAction(callF);
//seq
var seqA = cc.seq([movTo,rTo,faO]);
cc.node.runAction(seqA);
//repeat
var rep = cc.repeat(seqA,2);
cc.node.runAction(rep);
var repF = cc.repeatForever(seqA);
cc.node.runAction(repF);
//回弹特效
var m = cc.moveTo(1, 100, 0).easing(cc.easeBackOut());
this.node.runAction(m);
//转动特效
var r = cc.rotateBy(3, 360).easing(cc.easeCubicActionOut());
var rf = cc.repeatForever(r);
this.node.runAction(rf);
//delay延时
var time = cc.delayTime(2);
var mov = cc.moveBy(2,cc.p(100,100));
var fun = cc.callFunc(function(){
    this.node.removeFromParent();
}.bind(this));
var seq1 = cc.sequence([time, mov, fun]);
this.node.runAction(seq);
//this.node.stopAllActions();
 
 
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值