Ich verwende Swift, um ein Spiel in SpriteKit zu machen.Wie verwende ich "enumerateChildNodesWithName" mit Swift in SpriteKit?
In Objective-C konnte ich die folgende Methode verwenden:
(void)enumerateChildNodesWithName:(NSString *)name usingBlock:(void (^)(SKNode *node, BOOL *stop))block
, um Aktionen auf diesem *node
, aber ich kann diese Funktion nicht bekommen in Swift arbeiten. Im Grunde weiß ich nicht, wie man diesen Knoten in Swift referenziert.
Dies ist der Code, den ich verwende, aber ich habe Probleme mit dem "usingBlock:" Teil. Ich habe viele Dinge für viele Stunden ausprobiert, aber es ist mir nicht gelungen. Hilfe bitte!
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)?)
}
Großartig !! Es funktionierte!! Danke vielmals!!! – rv123
Die Verwendung von stop.memory = true gab mir einen Fehler, also habe ich stop.withUnsafePointer {$ 0. Memory = true} verwendet, wie hier empfohlen [http://stackoverflow.com/questions/24142589/how-to-set- cmutablepointerobjcbool-to-false-in-swift) – rv123
Guter Fang. Bearbeitete Antwort. – rickster