我正在创建一个游戏,我试图使其等待直到所显示的某个精灵的数量等于0之后再继续,我尝试这样做:
NSLog("Number of asteroid 1 nodes: %d", self["Asteroid1Txt"].count)
但是,即使屏幕上未显示该精灵,它也可以为您提供该精灵的编号。
只有在屏幕上实际显示某个子画面的编号时,才可以获取该数字吗?
最佳答案
给精灵节点一个这样的名字:
var mySprite = SkSpriteNode(imageNamed: "nameOfYourImage")
mySprite.name = "spriteToTrack"
然后枚举整个精灵,名称为“ spriteToTrack”,如下所示:
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")