有多种方案,这里说一个简单的,做一个变量标志,在指令函数中自动跳过就行了,直接执行 callback返回
比如 finger 指令
static finger(godGuide, step, callback) {
//通过一个变量控制,跳过步骤
if (godGuide.isPass) {
callback();
return;
}
//正常操作
let { args } = step.command;
godGuide._targetNode = null;
//定位节点
godGuide.find(args, (node) => {
//手指动画
godGuide.fingerToNode(node, () => {
godGuide._targetNode = node;
//点击确认
node.once(cc.Node.EventType.TOUCH_END, () => {
cc.log('节点被点击');
//任务完成
callback();
});
});
//触摸模拟
let autorun = godGuide.getTask().autorun;
if (autorun) {
godGuide.touchSimulation(node);
}
});
}