gpt4 book ai didi

ios - 当节点下面的节点被删除时,节点不会移动

转载 作者:行者123 更新时间:2023-11-30 11:05:57 25 4
gpt4 key购买 nike

我正在尝试创建一个 Jenga 游戏,首先学习如何使用 SceneKit

我已经在场景中设置了所有物理特性(左图 - block.scn | 右图 - Scene.scn 包含场景图像):

enter image description here

右侧的 block 没有直接设置物理属性,因为它们是引用节点,因此添加物理属性将使其不再正常工作。 (这三个 block 刚刚被移到一边以使结构掉落。)

当我运行应用程序时, block 会掉落并按预期运行。但是,当我尝试删除节点时会出现问题。这是它的样子,和 here is a link to the video看看发生了什么:

enter image description here

在视频中,我随着物理现象的发生移除了一个方 block ,而其他方 block 则按预期掉落,但在移除更多方 block 后,什么也没有发生。

我使用node.removeFromParentNode()删除 block :

// MARK: Respond to touch events
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
// Get the touch in the view
let touch = touches.first!
let location = touch.location(in: gameView)
let hitList = gameView.hitTest(location, options: nil)

// Perform operation on tapped object
if let hitObject = hitList.first {
let node = hitObject.node

if node.name == "block" {
node.removeFromParentNode()
}
}
}

为什么会发生这种情况以及如何解决这个问题?

<小时/>

如有任何疑问,请提问!

最佳答案

这花了很长时间才弄清楚我需要做的就是将 allowsResting 更改为 false,如代码和场景编辑器中所示:

node.physicsBody?.allowsResting = false

enter image description here

您只需要做其中一项,无需同时更改两者。

关于ios - 当节点下面的节点被删除时,节点不会移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52726020/

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