如何获取场景中不可见的 SKSpriteNode 的节点数?
Posted
技术标签:
【中文标题】如何获取场景中不可见的 SKSpriteNode 的节点数?【英文标题】:How do I get the node count of SKSpriteNodes not visible in the scene? 【发布时间】:2015-03-25 04:57:59 【问题描述】:如果你有:
skView.showsNodeCount = true
在您的 GameViewController 中,您可以看到在场景中可见的节点的节点数,但是一旦节点离开场景,该计数器就不再计算它。有没有办法查看场景中有多少可见和不可见的节点?这是在 Xcode 6 中使用 Swift 编码的 SpriteKit。
谢谢,
-卡勒姆-
【问题讨论】:
【参考方案1】:因为showsNodeCount
只显示屏幕上的节点,所以您必须创建自己的SKSpriteNode
类并创建类似addMyChild
的方法。并且每当您调用addMyChild
方法时,您都会将计数器增加一,以便您手动知道存在多少个节点。例如:
func addMyChild(node:SKSpriteNode)
self.addChild(node)
nodeCount++
【讨论】:
这有点用,但整个目的是确保屏幕上没有任何意外的节点堆积。我想我可以像这样计算它们,然后在删除节点时从中减去。它不会是完美的,但我可以让它工作。谢谢。 刚试了一下,运行一分钟后发现有大约 50 个节点,我忘了在屏幕外删除。效果很好,再次感谢。以上是关于如何获取场景中不可见的 SKSpriteNode 的节点数?的主要内容,如果未能解决你的问题,请参考以下文章
SKScene - 如何从 SKSpriteNode 获取类
使用场景编辑器获取 SKSpriteNode 的 userData
有没有办法从代码中获取放置在场景编辑器中的 SKSpriteNode 的当前位置? - 精灵套件
SKSpriteNode 从场景中移除后如何停止音频(Swift)?