/ / Come posso contare il numero di sprite mostrati? - kit rapido, sprite

Come posso contare il numero di sprite mostrati? - kit rapido, sprite

Sto creando un gioco e sto cercando di farlo attendere fino a quando il numero di un determinato sprite mostrato è uguale a 0 prima di continuare, ho provato a fare questo:

NSLog("Number of asteroid 1 nodes: %d", self["Asteroid1Txt"].count)

ma questo ti dà il numero di un certo sprite, anche quando non è mostrato sullo schermo.

C'è un modo per ottenere il numero di un determinato sprite, solo se è effettivamente sullo schermo?

risposte:

0 per risposta № 1

Dai al nodo sprite un nome come questo:

var mySprite = SkSpriteNode(imageNamed: "nameOfYourImage")
mySprite.name = "spriteToTrack"

Quindi enumera attraverso gli sprite con il nome "spriteToTrack" in questo modo:

var countSprites = 0
enumerateChildNodesWithName(""spriteToTrack""){node,_ in
countSprites++
/* If you want to manipulate this node or  remove it....but dont do it in this loop!
let tmpNode = node as! SKSpriteNode // Must be the same as mySprite
*/
}

println("I have (countSprites ) sprites with name spriteToTrack")