如何获得以米为单位的场景高度(快速)?

时间:2016-05-29 00:20:11

标签: ios swift sprite-kit

所以我的身高为self.frame.height,按照iPhone 6s的预期返回736。如何将此值转换为米,以与physicsWorld单位系统保持一致?

3 个答案:

答案 0 :(得分:2)

大约135点到一米。

物理系统在9.8m / s的重力作用下从静止状态下降,在1.00806862953687s(1.01s)中以660点的速度下降,速度为1342.8162841796875m / s(1342.82)。

将数学运算到2位小数,我们可以使用行进距离方程和速度来计算每米通过2种不同计算的点数:

使用v = u + at(u = 0,a = 9.8,t = 1.01s),我们可以计算出在1.01s之后,v是1.01 * 9.8 = 9.90m / s。物理体的速度为1342.85,因此9.90m / s = 1342.82点/ s,因此1m = 135.6点。

或者,使用s = ut +½at²来计算时间t之后行进的距离,我们得到s = 0.5x9.8x1.01 = 4.95m。因此4.95m = 660点; 1m = 133.3分。

如果你用完全精确度进行数学计算,你会得到137分的数字。

在约2秒后使用时间表示加速公式为133.4点/ m,距离公式为133.7点/ m

奇怪的是,SKPhysicsBody类引用将velocity属性描述为以米/秒为单位,但它绝对是以每秒点数为单位。

答案 1 :(得分:1)

你知道重力是9.8 m / s ^ 2,所以拿一个物体,把它放在空中,然后测量1秒后的行进距离。那你知道吗 X points/sec = 9.8 meters/1^2
X points/1 = 9.8 meters/1^2
X points = 9.8 meters/1
X points = 9.8 meters
最终答案:
X/9.8 points = 1 meter

答案 2 :(得分:0)

area类的SKPhysicsBody属性的documentation指出,Sprite Kit物理世界中的1米对应于屏幕上的150个点。