文档SKPhysicsBody
bodyWithCircleOfRadius:
说:
创建一个以拥有节点的origin为中心的圆形物理体。
那么原点是节点位置吗?怎么也找不到。
文档SKPhysicsBody
bodyWithCircleOfRadius:
说:
创建一个以拥有节点的origin为中心的圆形物理体。
那么原点是节点位置吗?怎么也找不到。
那么原点是节点位置吗?
原点是给定坐标系中坐标为 (0, 0) 的点。但是,在处理计算机图形时,您通常会处理许多不同的坐标系,并且每个坐标系都有自己的原点。例如,视图层次结构中的每个视图都有自己的坐标系。所以,你需要一些上下文来确切地知道你在说哪一个。
节点树中的每个节点都为其子节点提供一个坐标系。将子节点添加到节点树后,通过设置其位置属性将其定位在其父节点的坐标系中。
您还评论说:
我很困惑,因为 SKScene 文档中也提到了“起源”,它与帧起源不同
SKScene
是 的子类SKNode
,因此每个场景都提供了一个坐标系。这并不奇怪——场景只是节点树中的根节点。
不要将origin
节点的frame
与节点自身坐标系的原点混淆。ACGRect
由两件事定义:一个名为的CGPointorigin
和一个名为的CGSizesize
。节点是在父节点的坐标系中frame
定义节点边界的矩形。节点的原点可能恰好与它的帧在同一个地方,但它们不是一回事。例如,场景的原点在它的位置——也就是说,场景的属性表示包含场景的视图中的某个点,并且该点在场景中的坐标为 (0, 0)。这些都与or没有任何关系。origin
anchorPoint
anchorPoint
frame
frame.origin
原点通常是一个点。但是,说 SKNode 的起源有点令人困惑,因为它不是 SKNode 的属性,就像它是 SKNode 框架的属性一样。如果您在苹果的 sknode 文档中对“起源”一词进行关键字搜索,您将找到零次。然而,我同意下面的共识,尽管在 SKNode 的文档中没有提及,但节点的原点更可能是指它的位置而不是它的框架的原点。因此,虽然您会像这样获得 SKNode 框架的原点 x 和 y 值:
node.frame.origin.x
node.frame.origin.y
这不一定描述节点的起源。我希望我已经使这个答案更准确,更少混乱:)