ios - 删除节点下方的节点时节点不移动
问题描述
我正在尝试创建一个 Jenga 游戏,从学习如何使用SceneKit
.
我已经在我的场景中设置了所有物理特性(左图 - block.scn
|右图 -Scene.scn
带有场景图像):
右侧的块没有直接设置物理,因为它们是参考节点,因此添加物理将使其不再正常工作。(这三个块刚刚被移到一边,让结构倒塌。)
当我运行该应用程序时,积木会掉落并按预期运行。但是,当我尝试删除节点时会出现问题。这是它的样子,这里是视频的链接,可以查看正在发生的事情:
在视频中,我在物理发生时移除了一个块,其他块按预期掉落,但之后移除更多块后没有任何反应。
我使用以下方法删除块node.removeFromParentNode()
:
// 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()
}
}
}
为什么会发生这种情况,我该如何解决?
如果您有任何疑问,请询问!
解决方案
推荐阅读
- python - 仅打印 ROS 中的起始位置和最终位置
- javascript - 从 Wasm 加载文件?
- ansible - ansible:循环目录并在另一个剧本中引用该文件
- angular - Angular5-将索引的值传递给组件
- api - IBM Speech 中的 curl“不支持的媒体类型”错误
- c# - 这种类型的编码叫什么?
- c# - C# - 在 SSIS 脚本任务中反序列化 JSON
- python - 在python 3中查找表中名字第一个字符的频率分布
- php - Twig 模板访问 Symfony 3.4 中的旧变量值
- html - Apple Mail 电子邮件签名 - 表格相互折叠/重叠?