我正在制作一个迷宫应用程序,它会在迷宫完成后生成一个新的迷宫。显然,我可以通过在代码 wall[location].isHidden = true
中执行的操作将墙壁(每个墙壁都有自己的物理和 Sprite 存储在数组上的位置)变为不可见,但我无法找到一种方法对绑定(bind)到墙上的物理体执行相同的操作,从而创建一堵看不见的墙。有没有一种简单的方法可以做到这一点而不将其设置为零?
澄清一下,并不是我不希望它是动态的,我只是希望在解决迷宫时整个事情不存在。 另外,我不想将其设置为 nil 的唯一原因是因为我不知道如何以简单的方式恢复其旧的物理主体。
最佳答案
首选方法是从节点树中物理移除墙。这将提高性能,因为系统不必检查不必要的节点。
只需确保您的墙在拆除时被保留,以便您可以在需要时读取它。
wall[location].removeFromParent()
...
scene.addChild(wall[location])
关于ios - 有没有一种简单的方法可以在 Swift 中暂时禁用 Sprite 的物理体? ( SpriteKit ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59204926/