CallFunc
cc.CallFunc()动作允许你从一个动作中调用一个方法。在连续动作的结尾这个方法很有用。
举例:
node.runAction(cc.sequence(
cc.moveTo(0.5,beAttackPos),
//在攻击动作完成后,调用一个方法,进行血量的判断
cc.callFunc(countAttock),
cc.moveTo(0.2,nodePos),
//再攻击完成回到初始位置后,调用一个方法,进行攻守转换的判断
cc.callFunc(attackEnd)
))
function countAttock(){
cc.log("扣除血量")
beAttack.getComponent("warNpc").pub_deductionLife(node.getComponent("warNpc").pub_getAtt())
}
function attackEnd (){
//当攻击方还有未攻击的人员的时候,继续调用_battleJudgment这个方法进行攻击
if (parson1.length > 0){
that._battleJudgment(parson1,parson2)
//当攻击方全员都攻击完后,进行攻守转换
}else{
that._beginbattle();
}
}
取出数组中的第一个元素来使用,取出后,原数组中第二个元素变为第一个
var node = arr.shift()
回合制游戏中,进行攻守转换以及攻击时候不会贴在被攻击方的身上的代码
beAttackPos = cc.pAdd(beAttackPos,nodePos.x > beAttackPos.x?cc.p(100,0):cc.p(-100,0))