Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 什么是SKNode;起源;?_Ios_Sprite Kit_Skphysicsbody - Fatal编程技术网

Ios 什么是SKNode;起源;?

Ios 什么是SKNode;起源;?,ios,sprite-kit,skphysicsbody,Ios,Sprite Kit,Skphysicsbody,SKPhysicsBodybodyWithCircleOfRadius:的文档说明: 创建以所属节点的原点为中心的圆形物理体 那么原点是节点位置吗?根本找不到它。原点通常是一个点。但是,谈到SKNode的原点有点让人困惑,因为它不是SKNode的属性,与它是SKNode框架的属性的意义不同。如果你在苹果的sknode文档中搜索单词“origin”,你会找到它零次。然而,我同意下面的共识,即尽管SKNode的文档中没有提到这一点,但节点的原点更有可能是指其位置,而不是其框架的原点。因此,当您获得S

SKPhysicsBody
bodyWithCircleOfRadius:
的文档说明:

创建以所属节点的原点为中心的圆形物理体

那么原点是节点位置吗?根本找不到它。

原点通常是一个点。但是,谈到SKNode的原点有点让人困惑,因为它不是SKNode的属性,与它是SKNode框架的属性的意义不同。如果你在苹果的sknode文档中搜索单词“origin”,你会找到它零次。然而,我同意下面的共识,即尽管SKNode的文档中没有提到这一点,但节点的原点更有可能是指其位置,而不是其框架的原点。因此,当您获得SKNode帧的原点的x和y值时,如下所示:

node.frame.origin.x
node.frame.origin.y
这不一定描述节点的原点。我希望我的回答更加准确,不那么令人困惑:)

那么原点是节点位置吗

原点是给定坐标系中具有坐标(0,0)的点。但是,在使用计算机图形学时,通常要处理许多不同的坐标系,并且每个坐标系都有自己的原点。例如,视图层次中的每个视图都有自己的坐标系。所以,你需要一些上下文来确切地知道你在说哪一个

从:

节点树中的每个节点都为其节点提供一个坐标系 儿童将子节点添加到节点树后,将对其进行定位 通过设置其位置在其父坐标系内 财产

你还评论说:


我很困惑,因为SKScene文档中也提到了“原点”,而且它与框架原点不同

SKScene
SKNode
的子类,因此每个场景都提供一个坐标系。这并不奇怪——场景只是节点树中的根节点


不要将节点的
框架的
原点
与节点自身坐标系的原点混淆。
CGRect
由两个东西定义:CGPoint称为
origin
,CGSize称为
size
。节点的
帧是在父节点坐标系中定义节点边界的矩形。节点的原点可能恰好与框架的
原点位于同一位置,但它们不是同一事物。例如,场景的原点位于其
anchorPoint
——即,场景的
anchorPoint
属性指示包含场景的视图中的某个点,该点在场景中具有坐标(0,0)。这两者都与
帧或
帧无关。原点

我很困惑,因为在SKScene文档中也提到了“原点”,它与帧原点不同:对于SKScene:SKnode,原点共同响应于锚定点,锚定点可能与帧原点不同。不,原点只是节点的位置。请注意,锚点只是一个纹理图形偏移,只有3个节点的锚点(场景、精灵、视频)原点==node.positionyep,谢谢:)通过简单的appso累加一起确认:节点的原点是其父坐标系中的点,其(0,0)是节点自身坐标系中的点。节点的位置恰好是同一点,但在SKNode、SKSpriteNode的文档中没有写入。