Ios 为sprite套件加速物理时钟

Ios 为sprite套件加速物理时钟,ios,xcode,sprite-kit,skphysicsbody,skphysicsworld,Ios,Xcode,Sprite Kit,Skphysicsbody,Skphysicsworld,我有一个使用spritekit物理世界的动画。我一直在寻找,看看是否有一种方法可以“快进”通过物理,只得到结果或路径而不显示动画。我看了physicsWorld没有看到任何关于这个的东西?你知道我该怎么做吗 基本上,我想在用户决定执行之前向他们显示动画的结果位置。显然,您错过了以下内容中的速度属性: 默认值为1.0,这意味着模拟以正常速度运行 速度默认值以外的值会更改此时的速率 通过物理模拟。例如,速度值为2.0 表示物理模拟中的时间以两倍于 场景的模拟时间。值为0.0将暂停物理过程 模拟 请记

我有一个使用spritekit物理世界的动画。我一直在寻找,看看是否有一种方法可以“快进”通过物理,只得到结果或路径而不显示动画。我看了physicsWorld没有看到任何关于这个的东西?你知道我该怎么做吗


基本上,我想在用户决定执行之前向他们显示动画的结果位置。

显然,您错过了以下内容中的
速度属性:

默认值为1.0,这意味着模拟以正常速度运行 速度默认值以外的值会更改此时的速率 通过物理模拟。例如,速度值为2.0 表示物理模拟中的时间以两倍于 场景的模拟时间。值为0.0将暂停物理过程 模拟

请记住,这将影响所有实体,并且没有内置的方法将系统重置为以前的状态。此外,为了使更改可见,模拟必须至少前进1步,因此您必须在
update
dideevaluateActions
方法中将speed属性设置为30,然后在
didSimulatePhysics
中将其重置回1。这也是检查快进步骤结果的方法

如果物体以固定速度移动,并且不会受到碰撞或重力等任何因素的影响,则可以使用纯三角学(并且不需要速度属性)来确定物体在n步中的位置,或者物体移动至少n距离所需的步数

我想不出一种前进的方式,直到一个物体到达一个特定的目的地,在这个目的地,物体不会以固定的速度运动,如果不进行物理模拟,你就很难预测到达的时间。这将需要能够独立于现场的其他部分来推进世界(并通过超时保护身体,防止身体真正到达那里),这只有通过第三方物理引擎才能实现。尽管如此,您仍然可以将Box2D或花栗鼠与雪碧套件一起使用