将20个SKSpriteNode排成一圈
Arrange 20 SKSpriteNode in a circle
我有一个包含 20 个 SKSpriteNode 对象名称的数组。我想像这样将这些节点排列成一个圆圈:
只有 20 个而不是 12 个节点。它也应该更准确。
这个问题可以用一点数学来解决。以点 (x0,y0) 为半径 r 的圆可以写成
x = x0 + r * sin(t)
y = y0 + r * cos(t)
t 从 0 到 2π。如果您将此范围内的任何数字代入这些方程式,您将获得该圆上单个点的坐标。要获得相等的距离,您只需将 2π 的整个范围除以您要排列的项目数 (20),并将其用作对象之间的 t 步长。然后你可以使用参数圆方程来计算坐标并设置你的精灵节点的位置属性。
我有一个包含 20 个 SKSpriteNode 对象名称的数组。我想像这样将这些节点排列成一个圆圈:
只有 20 个而不是 12 个节点。它也应该更准确。
这个问题可以用一点数学来解决。以点 (x0,y0) 为半径 r 的圆可以写成
x = x0 + r * sin(t)
y = y0 + r * cos(t)
t 从 0 到 2π。如果您将此范围内的任何数字代入这些方程式,您将获得该圆上单个点的坐标。要获得相等的距离,您只需将 2π 的整个范围除以您要排列的项目数 (20),并将其用作对象之间的 t 步长。然后你可以使用参数圆方程来计算坐标并设置你的精灵节点的位置属性。