Używam Swift do gry w SpriteKit.Jak używać "enumerateChildNodesWithName" za pomocą Swift w SpriteKit?
w Objective-C można używać w następujący sposób:
(void)enumerateChildNodesWithName:(NSString *)name usingBlock:(void (^)(SKNode *node, BOOL *stop))block
do wykonywania czynności, w tym *node
, ale nie mogę dostać tę funkcję pracy w Swift. Zasadniczo nie wiem, jak odwołać się do tego węzła w Swift.
To jest kod, którego używam, ale mam problem z częścią "usingBlock:". Próbowałem wielu rzeczy przez wiele godzin, ale mi się nie udało. Prosimy o pomoc!
func spawnEnemy() ->() {
let enemy = SKSpriteNode(imageNamed: "enemy")
enemy.name = "enemy"
enemy.position = CGPointMake(100, 100)
self.addChild(enemy)
}
func checkCollisions() ->() {
self.enumerateChildNodesWithName("enemy", usingBlock: ((SKNode!, CMutablePointer<ObjCBool>) -> Void)?)
}
Świetne !! Zadziałało!! Wielkie dzięki!!! – rv123
Korzystanie stop.memory = true dał mi błąd, więc użyłem stop.withUnsafePointer {$ 0.memory = true}, zgodnie z zaleceniami [tutaj] (http://stackoverflow.com/questions/24142589/how-to-set- cmutablepointerobjcbool-to-false-in-swift) – rv123
Dobry połów. Edytowana odpowiedź. – rickster