通过将这些节点添加到我的子类,我将SKNode
子类化为渲染由许多SKSpriteNodes
组成的地图。
一切运行良好,但我注意到我的节点子类的Frame
始终为0.
我在文档中找不到任何相关内容,所以:我应该覆盖Frame
属性并返回正确的值吗?
答案 0 :(得分:3)
frame属性是节点本身的框架,忽略任何子节点。对于SKNode,这是一个位置,但宽度和高度为零。
如果节点的类绘制内容,则帧为非空。 (https://developer.apple.com/reference/spritekit/sknode)
我读到的内容是:SKNode没有内容,所以它是空的是正确的。
节点和的框架由方法calculateAccumulatedFrame()提供,需要子树的框架的函数应该调用它不参考框架属性。
因此应该不需要覆盖SKNode的帧。我从来没有,在一些应用程序中有类似的结构 并且还没有问题...