我正在尝试创建一个基本的生成序列 - 必须创建块,moveDownLeft
,然后removeLeft
。使用moveDownLeft
之前添加块时,removeLeft
和self.addChild(block1)
可以正常工作,但我需要在序列中添加self.addchild
。
我可以看到这样做的唯一方法是使用runBlock
,当我使用它时出错时我查看了这个问题:Swift: SKAction.runBlock -> Missing argument for parameter 'completion' in call BUT WHY?
所以现在我离开了这个:
block1.runAction(SKAction.sequence([SKAction.runBlock({ self.addChild(self.block1) }), moveDownLeft, removeLeft]))
序列中没有任何内容可以正常工作,因为首先不会创建块。为什么会这样?
答案 0 :(得分:1)
您的代码片段太短但看起来像是典型的鸡和蛋问题。
首先将节点添加为子节点,然后运行该操作。如果您需要节点处于非活动状态一段时间,只需将其可见属性设置为NO即可。你也可以改变其他属性,即推迟创建物理体。