繁体   English   中英

当我尝试在Swift中对动作进行排序时,为什么仍会收到此错误?

[英]Why do I keep getting this error when I try to sequence my actions in Swift?

这是我得到的错误。 我有一个我正在使用的序列,所以我可以按顺序调用这些动作。 我将功能addGameBall()放在runBlock中,这样我就可以最后完成该操作。 那是这样做的正确方法。 这是我的代码:我在做什么错? 谢谢!

尝试添加已经具有父级的SKNode

    //RightSide
    if firstBody.categoryBitMask == GameBallCategory && fourthBody.categoryBitMask == WallCategpory {
        println("GoalRight")

        let waitBall = SKAction.waitForDuration(1.0)
        let removeFromParent = SKAction.removeFromParent()
        let respawnBall = SKAction.runBlock(self.addGameBall)
        let sequenceThis = SKAction.sequence([waitBall, removeFromParent, respawnBall])

        runAction(sequenceThis)

    }

“尝试添加已经有一个父节点的sknode”意味着您要添加一个节点两次。 我看不到您的addGameBall代码,但我非常有信心您在其中写着一行。 self.addChild(ball)//or whatever your code is called每次运行此函数时,都会执行该行,因此多次引用相同的ball节点,这就是编译器抱怨的原因。 可以通过将ball声明为局部变量来解决该问题,以便在函数运行时,将创建对该节点的新引用。 快乐的编码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM