2017-11-19 3 views
1

nach dem Lesen apple doc über die Suche Kind Knoten Ich verstehe, dass ich nicht nur nach dem Namen des Knotens suchen kann, sondern auch durch seine Klasse - mit project_name.class_name innerhalb der withName var. Mein Projektname ist Farbe und ich habe einen Klassennamen BallNode des Typs SKShapeNode. Leider kann ich die Knoten nicht mit dieser Methode finden (wie bei Apple Doc geschrieben) .in meinem Projekt werden Kugeln zufällig auf dem Bildschirm erstellt, und jeder Ballname ist "BALL", wenn ich nach dem Namen (BALL) suche ich kann Finde die Knoten, aber wenn ich versuche, den Klassennamen zu verwenden, funktioniert es einfach. hier ist mein Code:Suche nach Kind nach bestimmten Klassennamen

override func update(_ currentTime: TimeInterval) { 

    self.enumerateChildNodes(withName: "color.BallNode") { node, _ in 
     print("ball node found") 
    } 

hat jemand eine Idee, was mache ich falsch?

Antwort

1

der Link von Apple zeigt den richtigen Code. Ich habe gerade versucht, den folgenden Code in einem Testprojekt und es funktionierte

let ball = PushButton(upTexture: SKTexture(image:#imageLiteral(resourceName: "button"))) 
    ball.name = "ball1" 
    addChild(ball) 

    let ball2 = PushButton(upTexture: SKTexture(image:#imageLiteral(resourceName: "button"))) 
    ball2.name = "ball21" 
    addChild(ball2) 

    let ball3 = PushButton(upTexture: SKTexture(image:#imageLiteral(resourceName: "button"))) 
    ball3.name = "ball3" 
    addChild(ball3) 

    self.enumerateChildNodes(withName: "WordConstructor.PushButton") { node,_ in 
      print("node.name \(node.name)") 
    } 

Ich würde Ihre Projektnamen überprüfen, ob sie „Farbe“ und nicht die „Farbe“ haben Sie mehr als ein Ziel in Ihrem Projekt?

Können Sie den Code anzeigen, wo Sie die Bälle zur Szene hinzufügen?

FYI läuft, dass Ihr Spiel in Ihrer Update-Anweisung verursachen wird, um zu versuchen diese 60-mal pro Sekunde zu finden, die wahrscheinlich

+0

, dass die richtigen doc nicht sehr optimal ist - ‚enumerateChildNodes (withname: using :)‘ – omerc

+0

verdammt, Ich falsch gelesen, dass ... Ich sollte nicht versuchen, Fragen so früh am Morgen zu beantworten –

+0

@omerc bitte sehe meine Bearbeitungen –