判断一个动作是否正在运行中

cocos2d-js并没有提供判断动作是否正在执行的方法,只有一个获取节点正在执行动作的总个数,这个方法显然不行。

好在actionManager中有一个getActionByTag()方法(通过目标对象和标签获取一个动作),通过这个方法,就可以判断节点是否正在运行某个动作

用法:

1、获取动作管理类的单利对象

var am = cc.director.getActionManage()   

2、通过getActionByTag()方法判断动作是否在运行

var obj = am.getActionByTag(1,this) ---> 参数(tag,target):tag,动作的标签。如 a步骤

                                                               target,执行动作的节点对象(哪个节点通过runAction运行一个动作,target就是谁。)

                                                               这个target也可以在动作对象中指定:am.setTarget(this);

if(obj){

   cc.log("动作对象存在,说明节点正在执行这个动作")

}

else{

   cc.log("动作对象不存在,说明节点没有执行这个动作")

}

 

a、创建一个动作,并给动作设置tag

var action = cc.moveTo(2,100,100);

action.tag = 1;

b、运行动作

this.runAction(action);

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值