Sprite Kit:屏幕上的 SKSpriteNodes 计数

Posted

技术标签:

【中文标题】Sprite Kit:屏幕上的 SKSpriteNodes 计数【英文标题】:Sprite Kit: Count of SKSpriteNodes on screen 【发布时间】:2014-04-21 19:40:05 【问题描述】:

这似乎是一个非常简单的问题,但我似乎无法在任何地方找到答案。我正在使用 Sprite Kit 制作游戏,我想知道我目前在屏幕上有多少个 SKNode。我可以在调试信息的右下角看到计数,但我不确定如何将其作为可用于编程的整数来访问。有什么建议吗?

【问题讨论】:

【参考方案1】:

Apple 文档说,“SKScene 对象表示 Sprite Kit 中的内容场景。场景是 Sprite Kit 节点树中的根节点......”

所以,在你的 SKScene 类中使用以下语句,看看它是否输出正确的数字。

NSLog(@"%lu", (unsigned long)[self.children count]);

【讨论】:

Scene 的节点计数只计算用户可见的节点,因此可能不等于self.children.count。所以这并不是 OP 所要求的 是的,例如...如果要使用 tmx 地图,则 tmx 瓦片将在 SKScene 节目节点计数中可见,而不是在 [self.children 计数] 中。但是,这不适用于@MSU_Bulldog,或者是吗? 值得注意的是 self.children 只返回场景的直接兄弟节点,不会递归计算任何可能是子节点父节点的节点。

以上是关于Sprite Kit:屏幕上的 SKSpriteNodes 计数的主要内容,如果未能解决你的问题,请参考以下文章

Sprite-Kit:节点不会向左移动

Sprite Kit 碰撞检测仅适用于左右屏幕边缘

Sprite Kit 中的顶部屏幕 iAd

以一定速度在屏幕上移动对象。(Sprite Kit)

Sprite Kit bodyAtPoint 和 bodyInRect 返回不正确的值?

Sprite Kit:有没有办法禁用缩放模式并编码你想要发生的事情