当前位置:首页 > 技术手札 > 正文内容

cocos creator的Action类整理

秋风渡红尘7年前 (2018-12-05)技术手札1397
文章来源:https://blog.csdn.net/cchgood/article/details/80930764

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();  


扫描二维码推送至手机访问。

版权声明:本文由咿呀贝发布,如需转载请注明出处。

本文链接:http://yiyabei.cn/?id=34

标签: cocoscreator
分享给朋友:

相关文章

Firefox之不安全的连接

Firefox之不安全的连接

        今天打开电脑,使用firefox搜索点东西,结果提示:     www.baidu.com 的管...

如何禁用Firefox火狐浏览器的“不安全密码警告”

如何禁用Firefox火狐浏览器的“不安全密码警告”

Step1: 打开firefox,在地址栏敲:about:config 此时会跳出:“这可能是质量保证失效”的页面,点击“我了解此风险” Step2: 在配置页面的顶部搜索栏里敲:...

AUTOCAD2018无法启动及启动后界面闪烁

AUTOCAD2018无法启动及启动后界面闪烁

AUTOCAD2018安装完毕后启动时无法进入主界面就报错“autocad application 已停止工作”。 用管理员身份或者兼容模式运行,会在进入主界面之前自动退出程序。 通过visualsutio调试,发现问题出现在nvwgf...

ubuntu 安装mysql

ubuntu 安装mysql

sudo apt-get install mysql-server sudo apt isntall mysql-client sudo apt install libmysqlclient-dev 检测是否安装成功: sudo n...

BBR+BBR魔改+锐速一键脚本 for Centos/Debian/Ubuntu

BBR+BBR魔改+锐速一键脚本 for Centos/Debian/Ubuntu

此文为引用文。 支持系统:Centos 6+/Debian 8+/Ubuntu 14+,BBR魔改版不支持Debian 8 wget -N --no-check-certificate...

ubuntu把iso镜像文件添加为更新源

ubuntu把iso镜像文件添加为更新源

环境:vmware12 + win7物理机 + ubuntu16.04虚拟机 iso是用vm直接挂载到ubuntu的,其实是想用iso来升级系统,结果不知道怎么执行升级,反而是一大堆问题。 正确添加源的方法是:...