Vytváram hru a snažím sa ju počkať, kým sa počet zobrazených sprite nebude rovnať 0 a potom som sa pokúsil urobiť toto:
NSLog("Number of asteroid 1 nodes: %d", self["Asteroid1Txt"].count)
ale to vám dá číslo určitého sprite, aj keď nie je zobrazené na obrazovke.
Existuje spôsob, ako získať číslo určitého sprite, iba ak je skutočne na obrazovke?
odpovede:
0 pre odpoveď č. 1Pomenujte uzol sprite takto:
var mySprite = SkSpriteNode(imageNamed: "nameOfYourImage")
mySprite.name = "spriteToTrack"
Potom si spočítajte spritov s názvom „spriteToTrack“ takto:
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")