有一个代码的问题求解答

如何根据success的状态来运行不同的action(如何让第一个if执行之后再执行第二个if)。没系统学过js,求指点。

click() {
    const up = cc.moveTo(0.5, 30, 30)
    let result = cc.callFunc(function () {
        // 第一个if
        if (成功) {
            this.success = true
        } else {
            this.success = false
        }
    }, this)

    // 第二个if
    if (this.success === true) {
        let down1 = cc.moveTo(0.5, 30, -600)
        let sequence = cc.sequence(up, result, down1)
        this.action = this.rope_node.runAction(sequence)
    } else {
        let down2 = cc.moveTo(0.5, 30, 600)
        let sequence = cc.sequence(up, result, down2)
        this.action = this.rope_node.runAction(sequence)
    }
}

aysn或者写在callfunc里面

1赞

改成这样就可以了。
click() {

    const up = cc.moveTo(0.5, 30, 30)

    let result = cc.callFunc(function () {

        // 第一个if

        if (成功) {

            this.success = true

        } else {

            this.success = false

        }

        // 第二个if

        if (this.success === true) {

            let down1 = cc.moveTo(0.5, 30, -600)

            let sequence = cc.sequence(up, result, down1)

            this.action = this.rope_node.runAction(sequence)

        } else {

            let down2 = cc.moveTo(0.5, 30, 600)

            let sequence = cc.sequence(up, result, down2)

            this.action = this.rope_node.runAction(sequence)

        }

    }, this)

}
1赞

let sequence = cc.sequence(up, result, down1)
这行代码放在callfunc里,result会被反复调用吗

这样写肯定是会的

我给你的答案只是解答你提的问题,并不保证会不会引起其他问题 :rofl:

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。