1
A
回答
0
我適應這個從包含樣品的RenderComponent和LayerConfiguration蘋果DemoBots。
陣列是用在這裏迅速解決>>Array extension to remove object by value
var entities = [GKEntity]()
/// Stores a reference to the root nodes for each world layer in the scene.
var layerNodes = [LayerConfiguration:SKNode]()
func addEntity(entity: GKEntity)
{
self.entities.append(entity)
for componentSystem in self.componentSystems
{
componentSystem.addComponent(foundIn: entity)
}
// If the entity has a `RenderComponent`, add its node to the scene.
if let renderNode = entity.component(ofType: RenderComponent.self)?.node
{
self.addNode(node: renderNode, toLayer: .actors)
}
}
func removeEntity(entity:GKEntity)
{
for componentSystem in self.componentSystems
{
componentSystem.removeComponent(foundIn: entity)
}
if let renderNode = entity.component(ofType: RenderComponent.self)?.node
{
renderNode.removeFromParent()
}
self.entities.remove(entity)
}
func addNode(node: SKNode, toLayer layer: LayerConfiguration)
{
//
let layerNode = self.layerNodes[layer]!
layerNode.addChild(node)
}
相關問題
- 1. 刪除實體
- 2. 刪除實體
- 3. 實體刪除
- 4. 如何刪除實體?
- 5. 級聯刪除實體內的實體
- 6. 刪除實體的實體框架
- 7. 實體框架,刪除實體如果從另一個實體
- 8. 實體框架:刪除子實體
- 9. 刪除實體與另一個實體
- 10. 刪除HTML實體(如果未完成)
- 11. 如何在實體的屬性引用同一個實體時刪除實體?
- 12. 刪除HTML實體
- 13. 從刪除實體
- 14. JPA - 刪除實體
- 15. 刪除HTML實體
- 16. 刪除父實體
- 17. MySQL實體和實體的別名:如何刪除UNION?
- 18. 如何刪除/刪除實體框架中的0..1實體4
- 19. 刪除父實體時未刪除子實體
- 20. 從陣列控制器中刪除實體時如何刪除實體?
- 21. 如何刪除Spring Roo中的實體?
- 22. 如何刪除Doctrine 2中的實體?
- 23. 刪除EventListener中的實體
- 24. XDocument.Save()刪除我的 實體
- 25. Datasore Admin:實體刪除未完成
- 26. 實體框架無法完成刪除
- 27. 級聯刪除生成實體
- 28. HTML實體形成JSON
- 29. 如何刪除所有JPA實體?
- 30. 如何刪除與LINQ到實體
這完全取決於你如何存儲並引用'entity'情況延長。如果你想停止更新一個實體,只是不要調用它的'update'方法。 '.removeFromParent'方法允許您從Sprite Kit管理的SpriteKit節點樹中刪除一個節點。管理GKEntities取決於您的自定義代碼 - 例如實體可以存儲在一個數組中並從中移除 – Benzi
謝謝,tej實體在一個Set中管理並添加到場景中,我可以從Set中移除實體後它已添加到場景中,但無法從中刪除現場直接,雖然我可以刪除它的所有組件 – dancingbush
我有近兩個星期試圖解決同樣的問題。你有沒有找到解決方案? – iOSTony