Swift 移除物理体
有没有办法在swift 3中移除一个物理体 我只找到了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
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
?另外,请注意拼写错误删除代码>!啊,不错。。。有时候你看不到就在你面前的东西。。。