2016-11-23 74 views
1

有沒有辦法在swift 3中刪除一個物理主體?刪除物理主體

所有我發現了myNode.phyisicsBody = nil,但它不能在SWIFT 3

「無不能被分配到輸入SKPhysicsBode」默認我scene.sks

事實上,有一個孩子工作現場誰擁有physicsBody,在中心有一個小圓點,它是這一個我會刪除

<code>The code to get the physicsBody</code> <code>scene.sks with "Scene" child</code> Small dot that I don't want

+0

你嘗試了'removeFromParent'功能? – Henningsson

+0

沒有這個。只有「刪除」我有'removeObserver' – Marsgames

+1

剛試過這行'myNode.physicsBody = nil'在操場上,它運行良好。也許你可以向我們展示更多的代碼。你是如何創建節點和'physicsBody'的?另外,請注意錯字**物理** – Idan

回答

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

默認值是零,這表明該節點不參與物理仿真。如果提供物理體,則在模擬場景物理時,物理體更新節點的位置並旋轉節點。

我會說,檢查你最初創建的physicsBody,並確保它是可選的。

編輯

SceneObject!.physicsBody! = nil 

這可不行!通過使用!你告訴編譯器,它不是nil

將其更改爲

SceneObject!.physicsBody = nil