我有一个SKSpriteNode节点,它是一个等边三角形的图像,我希望将其锚点设置在三角形的质心处,以便能够平稳旋转并保持居中。 我使用下面的代码计算了质心,但是这些位置是相对于场景的,因此我不确定如何将其转换为准确的小数以作为锚点(介于0和1之间)。
let XA = triangle.position.x - (triangle.size.width / 2) // left point
let XB = triangle.position.x // top point
let XC = triangle.position.x + (triangle.size.width / 2) // right point
let YA = triangle.position.y - (triangle.size.height / 2) // left point
let YB = triangle.position.y + (triangle.size.height / 2) // top point
let YC = triangle.position.y - (triangle.size.height / 2) // right point
let triCenterX = (XA + XB + XC) / 3.0
let triCenterY = (YA + YB + YC) / 3.0
let centroid = CGPointMake(triCenterX, triCenterY) // 207.0, 412.65
// triangle.anchorPoint = CGPoint(x: , y: )
我不确定自己是否在正确的方向上,也不知道接下来该怎么做,也许我需要用另一种方式尝试?非常感谢您的帮助。