Switf Sprite remove NODE
Swift Sprite Kit
Remove Node, if Node leave View
set
var newSprit = SKSpriteNode()
create function for Node create
func createNewSprite(point : CGPoint) {
newSprit = SKSpriteNode(color: UIColor.orange, size: CGSize(width: 50, height: 50))
newSprit.physicsBody = SKPhysicsBody(rectangleOf: CGSize(width: 50, height: 50))
newSprit.position = point
self.addChild(newSprit)
}
on override func update(_ currentTime: TimeInterval)
add new code
self.enumerateChildNodes(withName: String, using: (SKNode, UnsafeMutablePointer) -> Void)
check your View first, if your View setup by Portrait, you may check your node leave view by point X if your View setup by Landscape, you may check your node leave view by point y
Code:
self.enumerateChildNodes(withName: "TEST") { (node : SKNode, nil) in
if node.position.x < -320 || node.position.x > 320 {
print("remove node")
node.removeFromParent()
}
}
on the code we know
enumerateChildNodes(withName: "???")
so we need give our node a name
How
back to function createNewSprite, and add new line
newSprit.name = "TEST"
this sample set the name is TEST, so we can back to
enumerateChildNodes
and write the name
留言
張貼留言