子类化 SKNode 时,Frame 属性 return 应该是一个非空值吗?
When subclassing SKNode, should the Frame property return a non-empty value?
我正在对 SKNode
进行子类化,以通过将这些节点添加到我的子类来呈现包含许多 SKSpriteNodes
的地图。
一切正常,但我注意到我的节点子类的 Frame
始终为 0。
我在文档中找不到任何相关信息,所以:我是否应该覆盖 Frame
属性 和 return 一个正确的值?
框架属性是节点本身的框架,忽略任何子节点。对于 SKNode,这是一个位置,但宽度和高度为零。
The frame is non-empty if the node’s class draws content.
(https://developer.apple.com/reference/spritekit/sknode)
我读作:SKNode 不绘制任何内容,因此它为空是正确的。
节点 和 其子节点的框架由方法 calculateAccumulatedFrame() 提供,需要子树框架的函数 应该 调用它而不引用框架 属性。
因此应该不需要为您的 SKNode 覆盖框架。我从来没有,在一些应用程序中有类似的结构
并且还没有遇到问题...
我正在对 SKNode
进行子类化,以通过将这些节点添加到我的子类来呈现包含许多 SKSpriteNodes
的地图。
一切正常,但我注意到我的节点子类的 Frame
始终为 0。
我在文档中找不到任何相关信息,所以:我是否应该覆盖 Frame
属性 和 return 一个正确的值?
框架属性是节点本身的框架,忽略任何子节点。对于 SKNode,这是一个位置,但宽度和高度为零。
The frame is non-empty if the node’s class draws content. (https://developer.apple.com/reference/spritekit/sknode)
我读作:SKNode 不绘制任何内容,因此它为空是正确的。
节点 和 其子节点的框架由方法 calculateAccumulatedFrame() 提供,需要子树框架的函数 应该 调用它而不引用框架 属性。
因此应该不需要为您的 SKNode 覆盖框架。我从来没有,在一些应用程序中有类似的结构 并且还没有遇到问题...