Swift 移除物理体

Swift 移除物理体,swift,sprite-kit,swift3,Swift,Sprite Kit,Swift3,有没有办法在swift 3中移除一个物理体 我只找到了myNode.phyiscsbody=nil,但它在swift 3中不起作用 “无法将Nil分配给SKPhysicsBode类型” 事实上,默认情况下,我的场景.sks有一个子场景,其中有一个physicsBody,中间有一个小点,我要删除的就是这个 刚刚在操场上尝试了以下代码,您可以myNode.physicsBody=nil import UIKit import SpriteKit let spriteNode = SKSprite

有没有办法在swift 3中移除一个物理体

我只找到了
myNode.phyiscsbody=nil
,但它在swift 3中不起作用

“无法将Nil分配给SKPhysicsBode类型”

事实上,默认情况下,我的
场景.sks
有一个子场景,其中有一个
physicsBody
,中间有一个小点,我要删除的就是这个


刚刚在操场上尝试了以下代码,您可以
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
发件人:

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

我会说,检查您最初在哪里创建了
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
换成

SceneObject!.physicsBody = nil 

您是否尝试了
removeFromParent
功能?没有此功能。我唯一的“删除”是
removeObserver
刚刚在操场上尝试了这一行
myNode.physicsBody=nil
,效果很好。也许你可以给我们看更多的代码。如何创建节点和
physicsBody
?另外,请注意拼写错误删除
!啊,不错。。。有时候你看不到就在你面前的东西。。。