删除物理机构

时间:2016-11-23 08:46:43

标签: swift sprite-kit swift3

有没有办法在swift 3中删除物理主体?

我发现的只有scene.sks,但它在swift 3中无效

  

"无法分配Nil来键入SKPhysicsBode"

事实上,默认情况下,我的physicsBody有一个子场景,其中有{{1}},中心有一个小点,而我要移除的是

Android SDK documentation states (in the chapter "Retrieval and modification with intents") <code>The code to get the physicsBody</code> <code>scene.sks with "Scene" child</code>

1 个答案:

答案 0 :(得分:1)

刚刚在游乐场尝试了以下代码,您可以myNode.physicsBody = nil

import UIKit
import SpriteKit

let spriteNode = SKSpriteNode(imageNamed: "elephant")

spriteNode.physicsBody = SKPhysicsBody(texture: spriteNode.texture!,
                                       size: spriteNode.texture!.size())
spriteNode.physicsBody = nil // No Error

来自Apple API about physicsBody

  

默认值为nil,表示该节点根本不参与物理模拟。如果提供物理主体,则在模拟场景的物理时,物理主体会更新节点的位置并旋转节点。

我想说,检查您最初创建physicsBody的位置,并确保它是可选的。

修改

SceneObject!.physicsBody! = nil 

这不行!通过使用!,您告诉编译器它不是nil

将其更改为

SceneObject!.physicsBody = nil