SKSpriteKit如何控制Impulse或Force速度?

时间:2014-06-18 11:39:07

标签: ios skspritenode

大家好我想向上移动慢动作,

当我申请冲动时,我很困惑。

[self.physicsBody applyImpulse:CGVectorMake(0, 60)];

它可以根据速度质量和其他物理因素来测量所需速度的脉冲

我需要应用脉冲,但控制速度是应用于施加冲动的物体上的。

我试图设置self.speed,但没有成功, 如何通过控制超速来实现对精灵的所需冲动或强制。

在应用Impulse之前,我应该为SKSpriteNode设置一些属性,

还是别的什么? 任何建议或想法将不胜感激

由于

2 个答案:

答案 0 :(得分:1)

所有力量都被用作物理实体的物理力量。

施加力的身体的最终运动不仅取决于力的大小和方向,还取决于施加力的身体的大小和密度(即质量)以及身体施加的力量。

当你说你需要“控制冲动的速度”时,我并不完全确定你的意思。

你可能需要的是根本不使用力量,而是手动移动节点。

您可以使用操作[SKAction moveByX:y:]或更新更新方法中的位置。这样你就可以准确地控制机芯的速度。

答案 1 :(得分:1)

SKNode 速度属性与 SKActions 有关,但是速度属性SKPhysicsWorld 是您可能想要调整以实现慢动作物理的。

SKPhysicsWorld 速度属性的文档中说明以下内容

  

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

SKScene 子类中访问它,如下所示 -

self.physicsWorld.speed = 0.5; // half speed (slow motion)