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))
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))
本文介绍如何使用Cocos2d-x中的cc.CallFunc动作在角色执行特定动作后调用方法,实现角色攻击后的血量扣除及攻守状态的自动转换。此外,还介绍了在回合制游戏中确保角色在攻击时不会与被攻击者重叠的技术细节。
630

被折叠的 条评论
为什么被折叠?



