gpt4 book ai didi

swift - runBlock 没有按顺序工作?

转载 作者:行者123 更新时间:2023-11-28 07:12:29 25 4
gpt4 key购买 nike

我正在尝试创建一个基本的生成序列 - 必须创建 block ,moveDownLeft,然后是 removeLeft。当之前使用 self.addChild(block1) 添加 block 时,moveDownLeftremoveLeft 可以自行正常工作,但是我需要 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])) 

并且序列中的任何内容都不起作用,因为该 block 不是首先创建的。为什么会这样?

最佳答案

您的代码片段太短,但它看起来像是一个典型的先有鸡还是先有蛋的问题。

  • 节点只有在被添加为子节点后才能运行操作,从而成为场景图的一部分
  • 你的节点应该运行一个最终将自己添加到场景图中的 Action ,但它不在场景图中,所以它不会运行该 Action

首先将节点添加为子节点,然后运行操作。如果您需要节点在一段时间内处于非事件状态,只需在这段时间内将其可见属性设置为 NO 即可。您可能还需要更改其他属性,即推迟物理体的创建。

关于swift - runBlock 没有按顺序工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27891091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com